From f7ed343a6f4600ff8a2b08141f6f9fc01802f610 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Thu, 8 Jul 2021 12:05:40 +0200 Subject: [PATCH] build: move set load to common code, rename vars for consistent style --- build/base.sh | 12 ++++++------ build/clone.sh | 6 +++--- build/common.sh | 51 ++++++++++++++++++++++++++++++++++++++---------- build/kernel.sh | 16 +++++++-------- build/list.sh | 12 +++++++++++- build/rebase.sh | 12 ++++++------ build/release.sh | 10 +++++----- build/rename.sh | 26 ++++++++++++------------ build/sign.sh | 30 ++++++++++++++-------------- build/xtools.sh | 12 ++++++------ 10 files changed, 114 insertions(+), 73 deletions(-) diff --git a/build/base.sh b/build/base.sh index 1083f38..8bced3b 100644 --- a/build/base.sh +++ b/build/base.sh @@ -31,10 +31,10 @@ SELF=base . ./common.sh -BASE_SET=$(find ${SETSDIR} -name "base-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz") +BASESET=$(find_set base) -if [ -f "${BASE_SET}" -a -z "${1}" ]; then - echo ">>> Reusing base set: ${BASE_SET}" +if [ -f "${BASESET}" -a -z "${1}" ]; then + echo ">>> Reusing base set: ${BASESET}" exit 0 fi @@ -77,7 +77,7 @@ sh ./clean.sh ${SELF} setup_stage ${STAGEDIR} work -BASE_SET=${SETSDIR}/base-${REPO_VERSION}-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz +BASESET=${SETSDIR}/base-${REPO_VERSION}-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz setup_set ${STAGEDIR}/work ${BASE_OBJ} @@ -113,5 +113,5 @@ fi echo "done" setup_version ${STAGEDIR} ${STAGEDIR}/work ${SELF} ${STAGEDIR}/obsolete -generate_set ${STAGEDIR}/work ${BASE_SET} -generate_signature ${BASE_SET} +generate_set ${STAGEDIR}/work ${BASESET} +generate_signature ${BASESET} diff --git a/build/clone.sh b/build/clone.sh index a3b5328..580b116 100644 --- a/build/clone.sh +++ b/build/clone.sh @@ -44,7 +44,7 @@ fi for ARG in ${@}; do case ${ARG} in base|kernel) - SRC=$(find ${SETSDIR} -name "${ARG}-*.txz") + SRC=$(find_set ${ARG}) if [ -f "${SRC}" ]; then DST=$(echo ${SRC} | sed "s:/${PRODUCT_ABI}/:/${TO}/:") echo -n ">>> Cloning ${DST}... " @@ -54,7 +54,7 @@ for ARG in ${@}; do fi ;; distfiles) - SRC=$(find ${SETSDIR} -name "${ARG}-*.tar") + SRC=$(find_set ${ARG}) DST=$(echo ${SRC} | sed "s:/${PRODUCT_ABI}/:/${TO}/:") if [ -f "${SRC}" ]; then echo -n ">>> Cloning ${DST}... " @@ -64,7 +64,7 @@ for ARG in ${@}; do fi ;; packages) - SRC=$(find ${SETSDIR} -name "${ARG}-*-${PRODUCT_FLAVOUR}-*.tar") + SRC=$(find_set ${ARG}) DST=$(echo ${SRC} | sed "s:/${PRODUCT_ABI}/:/${TO}/:") if [ -f "${SRC}" ]; then echo -n ">>> Cloning ${DST}... " diff --git a/build/common.sh b/build/common.sh index a32c262..dcc85ea 100644 --- a/build/common.sh +++ b/build/common.sh @@ -480,13 +480,13 @@ setup_xbase() rm -f ${1}/usr/bin/qemu-*-static ${1}/etc/rc.conf.local - XTOOLS_SET=$(find ${SETSDIR} -name "xtools-*-${PRODUCT_ARCH}.txz") - if [ -z "${XTOOLS_SET}" ]; then + XTOOLSET=$(find_set xtools) + if [ -z "${XTOOLSET}" ]; then return fi XTOOLS= - for XTOOL in $(tar tf ${XTOOLS_SET}); do + for XTOOL in $(tar tf ${XTOOLSET}); do if [ -d ${1}/${XTOOL} ]; then continue fi @@ -518,9 +518,9 @@ setup_xtools() /usr/local/etc/rc.d/qemu_user_static onerestart # copy the native toolchain for extra speed - XTOOLS_SET=$(find ${SETSDIR} -name "xtools-*-${PRODUCT_ARCH}.txz") - if [ -n "${XTOOLS_SET}" ]; then - tar -C ${1} -xpf ${XTOOLS_SET} + XTOOLSET=$(find_set xtools) + if [ -n "${XTOOLSET}" ]; then + tar -C ${1} -xpf ${XTOOLSET} fi # prevent the start of configd in build environments @@ -617,8 +617,8 @@ setup_distfiles() { echo ">>> Setting up distfiles in ${1}" - DISTFILES_SET=$(find ${SETSDIR} -name "distfiles-*.tar") - if [ -n "${DISTFILES_SET}" ]; then + DISTFILESET=$(find_set distfiles) + if [ -n "${DISTFILESET}" ]; then mkdir -p ${1}${PORTSDIR} tar -C ${1}${PORTSDIR} -xpf ${DISTFILES_SET} fi @@ -706,7 +706,7 @@ check_packages() local SELF=${1} SKIP=${2} - PACKAGESET=$(find ${SETSDIR} -name "packages-*-${PRODUCT_FLAVOUR}-${PRODUCT_ARCH}.tar") + PACKAGESET=$(find_set packages) if [ -z "${SELF}" -o -z "${PACKAGESET}" -o -n "${SKIP}" ]; then return 1 @@ -720,6 +720,36 @@ check_packages() return 1 } +find_set() +{ + case ${1} in + base) + echo $(find ${SETSDIR} -name "base-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz") + ;; + distfiles) + echo $(find ${SETSDIR} -name "distfiles-*.tar") + ;; + kernel-dbg) + echo $(find ${SETSDIR} -name "kernel-dbg-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz") + ;; + kernel) + echo $(find ${SETSDIR} -name "kernel-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz") + ;; + packages) + echo $(find ${SETSDIR} -name "packages-*-${PRODUCT_FLAVOUR}-${PRODUCT_ARCH}.tar") + ;; + release) + echo $(find ${SETSDIR} -name "release-*-${PRODUCT_ARCH}.tar") + ;; + xtools) + echo $(find ${SETSDIR} -name "xtools-*-${PRODUCT_ARCH}.txz") + ;; + *) + echo "Cannot find unknown set: ${1}" >&2 + ;; + esac +} + extract_packages() { echo ">>> Extracting packages in ${1}" @@ -729,7 +759,8 @@ extract_packages() rm -rf ${BASEDIR}${PACKAGESDIR}/All mkdir -p ${BASEDIR}${PACKAGESDIR}/All - PACKAGESET=$(find ${SETSDIR} -name "packages-*-${PRODUCT_FLAVOUR}-${PRODUCT_ARCH}.tar") + PACKAGESET=$(find_set packages) + if [ -f "${PACKAGESET}" ]; then tar -C ${BASEDIR}${PACKAGESDIR} -xpf ${PACKAGESET} return 0 diff --git a/build/kernel.sh b/build/kernel.sh index 8d32dd4..1645f2f 100644 --- a/build/kernel.sh +++ b/build/kernel.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 2014-2020 Franco Fichtner +# Copyright (c) 2014-2021 Franco Fichtner # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -31,10 +31,10 @@ SELF=kernel . ./common.sh -KERNEL_SET=$(find ${SETSDIR} -name "kernel-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz") +KERNELSET=$(find_set kernel) -if [ -f "${KERNEL_SET}" -a -z "${1}" ]; then - echo ">>> Reusing kernel set: ${KERNEL_SET}" +if [ -f "${KERNELSET}" -a -z "${1}" ]; then + echo ">>> Reusing kernel set: ${KERNELSET}" exit 0 fi @@ -88,13 +88,13 @@ setup_stage ${STAGEDIR} work setup_set ${STAGEDIR}/work ${KERNEL_OBJ} -KERNEL_SET=${KERNEL_RELEASE_SET} +KERNELSET=${KERNEL_RELEASE_SET} if [ -n "$(test -f ${DEBUG_OBJ} && tar -tf ${DEBUG_OBJ})" ]; then setup_set ${STAGEDIR}/work ${DEBUG_OBJ} - KERNEL_SET=${KERNEL_DEBUG_SET} + KERNELSET=${KERNEL_DEBUG_SET} fi setup_version ${STAGEDIR} ${STAGEDIR}/work ${SELF} -generate_set ${STAGEDIR}/work ${KERNEL_SET} -generate_signature ${KERNEL_SET} +generate_set ${STAGEDIR}/work ${KERNELSET} +generate_signature ${KERNELSET} diff --git a/build/list.sh b/build/list.sh index 6a293d6..d952d59 100644 --- a/build/list.sh +++ b/build/list.sh @@ -32,5 +32,15 @@ SELF=list . ./common.sh for ARG in ${*}; do - ls -lah ${TARGETDIR}/"${ARG}" + case ${ARG} in + base|kernel|packages) + SET=$(find_set "${ARG}") + if [ -n "${SET}" ]; then + tar -tf ${SET} + fi + ;; + *) + ls -lah ${TARGETDIR}/"${ARG}" + ;; + esac done diff --git a/build/rebase.sh b/build/rebase.sh index d0278a6..e511ae9 100644 --- a/build/rebase.sh +++ b/build/rebase.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 2015-2020 Franco Fichtner +# Copyright (c) 2015-2021 Franco Fichtner # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -33,12 +33,12 @@ SELF=rebase setup_stage ${STAGEDIR} -BASE_SET=$(find ${SETSDIR} -name "base-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz") -BASE_OBSOLETE=/usr/local/opnsense/version/base.obsolete +BASESET=$(find_set base) +OBSOLETE=/usr/local/opnsense/version/base.obsolete -tar -tf ${BASE_SET} | sed -e 's/^\.//g' -e '/\/$/d' | \ +tar -tf ${BASESET} | sed -e 's/^\.//g' -e '/\/$/d' | \ grep -v -e '\.mtree\.sig$' -e '\.abi_hint$' | \ sort > ${CONFIGDIR}/plist.base.${PRODUCT_ARCH} -tar -C ${STAGEDIR} -xf ${BASE_SET} .${BASE_OBSOLETE} -cp ${STAGEDIR}${BASE_OBSOLETE} ${CONFIGDIR}/plist.obsolete.${PRODUCT_ARCH} +tar -C ${STAGEDIR} -xf ${BASESET} .${OBSOLETE} +cp ${STAGEDIR}${OBSOLETE} ${CONFIGDIR}/plist.obsolete.${PRODUCT_ARCH} diff --git a/build/release.sh b/build/release.sh index 2e78275..44b407f 100644 --- a/build/release.sh +++ b/build/release.sh @@ -31,14 +31,14 @@ SELF=release . ./common.sh -RELEASE_SET=$(find ${SETSDIR} -name "release-*-${PRODUCT_ARCH}.tar") +RELEASESET=$(find_set release) -if [ -f "${RELEASE_SET}" -a -z "${1}" ]; then - echo ">>> Reusing release set: ${RELEASE_SET}" +if [ -f "${RELEASESET}" -a -z "${1}" ]; then + echo ">>> Reusing release set: ${RELEASESET}" exit 0 fi -RELEASE_SET="${SETSDIR}/release-${PRODUCT_VERSION}-${PRODUCT_FLAVOUR}-${PRODUCT_ARCH}.tar" +RELEASESET="${SETSDIR}/release-${PRODUCT_VERSION}-${PRODUCT_FLAVOUR}-${PRODUCT_ARCH}.tar" sh ./clean.sh ${SELF} @@ -81,5 +81,5 @@ for IMAGE in $(find ${STAGEDIR} -type f \! -name "*.sig"); do done echo -n ">>> Bundling images for ${PRODUCT_RELEASE}... " -tar -C ${STAGEDIR} -cf ${RELEASE_SET} . +tar -C ${STAGEDIR} -cf ${RELEASESET} . echo "done" diff --git a/build/rename.sh b/build/rename.sh index 78f9e1d..534e604 100644 --- a/build/rename.sh +++ b/build/rename.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 2016-2019 Franco Fichtner +# Copyright (c) 2016-2021 Franco Fichtner # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -43,15 +43,15 @@ for ARG in ${@}; do base) setup_stage ${STAGEDIR} work echo ">>> Repacking base set..." - BASE_SET=$(find ${SETSDIR} -name "base-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz") - setup_set ${STAGEDIR}/work ${BASE_SET} + BASESET=$(find_base base) + setup_set ${STAGEDIR}/work ${BASESET} cp ${STAGEDIR}/work/usr/local/opnsense/version/base.obsolete \ ${STAGEDIR}/obsolete REPO_VERSION=${PRODUCT_VERSION} setup_version ${STAGEDIR} ${STAGEDIR}/work ${ARG} ${STAGEDIR}/obsolete - rm ${BASE_SET} - generate_set ${STAGEDIR}/work ${BASE_SET} - generate_signature ${BASE_SET} + rm ${BASESET} + generate_set ${STAGEDIR}/work ${BASESET} + generate_signature ${BASESET} echo ">>> Renaming base set: ${PRODUCT_VERSION}" for FILE in $(find ${SETSDIR} -name \ "base-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.*"); do @@ -74,18 +74,18 @@ for ARG in ${@}; do kernel) setup_stage ${STAGEDIR} work echo ">>> Repacking kernel set..." - KERNEL_SET=$(find ${SETSDIR} -name "kernel-dbg-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz") + KERNELSET=$(find_set kernel-dbg) KERNEL_NAME="kernel-dbg" - if [ -z "${KERNEL_SET}" ]; then - KERNEL_SET=$(find ${SETSDIR} -name "kernel-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz") + if [ -z "${KERNELSET}" ]; then + KERNELSET=$(find_set kernel) KERNEL_NAME="kernel" fi - setup_set ${STAGEDIR}/work ${KERNEL_SET} + setup_set ${STAGEDIR}/work ${KERNELSET} REPO_VERSION=${PRODUCT_VERSION} setup_version ${STAGEDIR} ${STAGEDIR}/work ${ARG} - rm ${KERNEL_SET} - generate_set ${STAGEDIR}/work ${KERNEL_SET} - generate_signature ${KERNEL_SET} + rm ${KERNELSET} + generate_set ${STAGEDIR}/work ${KERNELSET} + generate_signature ${KERNELSET} echo ">>> Renaming kernel set: ${PRODUCT_VERSION}" for FILE in $(find ${SETSDIR} -name \ "kernel-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.*"); do diff --git a/build/sign.sh b/build/sign.sh index 38a073c..80e8fbf 100644 --- a/build/sign.sh +++ b/build/sign.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 2016-2020 Franco Fichtner +# Copyright (c) 2016-2021 Franco Fichtner # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -36,30 +36,30 @@ VERSIONDIR="/usr/local/opnsense/version" for ARG in ${@}; do case ${ARG} in base) - BASE_SET=$(find ${SETSDIR} -name "base-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz") - if [ -f "${BASE_SET}" ]; then + BASESET=$(find_set base) + if [ -f "${BASESET}" ]; then setup_stage ${STAGEDIR} - setup_set ${STAGEDIR} ${BASE_SET} + setup_set ${STAGEDIR} ${BASESET} generate_signature ${STAGEDIR}${VERSIONDIR}/base.mtree - rm ${BASE_SET} - generate_set ${STAGEDIR} ${BASE_SET} - generate_signature ${BASE_SET} + rm ${BASESET} + generate_set ${STAGEDIR} ${BASESET} + generate_signature ${BASESET} fi ;; kernel) - KERNEL_SET=$(find ${SETSDIR} -name "kernel-*-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz") - if [ -f "${KERNEL_SET}" ]; then + KERNELSET=$(find_set kernel) + if [ -f "${KERNELSET}" ]; then setup_stage ${STAGEDIR} - setup_set ${STAGEDIR} ${KERNEL_SET} + setup_set ${STAGEDIR} ${KERNELSET} generate_signature ${STAGEDIR}${VERSIONDIR}/kernel.mtree - rm ${KERNEL_SET} - generate_set ${STAGEDIR} ${KERNEL_SET} - generate_signature ${KERNEL_SET} + rm ${KERNELSET} + generate_set ${STAGEDIR} ${KERNELSET} + generate_signature ${KERNELSET} fi ;; packages) - PKGS_SET=$(find ${SETSDIR} -name "packages-*-${PRODUCT_FLAVOUR}-${PRODUCT_ARCH}.tar") - if [ -f "${PKGS_SET}" ]; then + PACKAGESET=$(find_set packages) + if [ -f "${PACKAGESET}" ]; then setup_stage ${STAGEDIR} extract_packages ${STAGEDIR} bundle_packages ${STAGEDIR} diff --git a/build/xtools.sh b/build/xtools.sh index 665ced9..2c926a4 100644 --- a/build/xtools.sh +++ b/build/xtools.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 2016-2017 Franco Fichtner +# Copyright (c) 2016-2021 Franco Fichtner # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -36,17 +36,17 @@ if [ ${PRODUCT_HOST} = ${PRODUCT_ARCH} ]; then exit 0 fi -XTOOLS_SET=$(find ${SETSDIR} -name "xtools-*-${PRODUCT_ARCH}.txz") +XTOOLSET=$(find_set xtools) -if [ -f "${XTOOLS_SET}" -a -z "${1}" ]; then - echo ">>> Reusing xtools set: ${XTOOLS_SET}" +if [ -f "${XTOOLSET}" -a -z "${1}" ]; then + echo ">>> Reusing xtools set: ${XTOOLSET}" exit 0 fi git_branch ${SRCDIR} ${SRCBRANCH} SRCBRANCH git_describe ${SRCDIR} -XTOOLS_SET=${SETSDIR}/xtools-${REPO_VERSION}-${PRODUCT_ARCH}.txz +XTOOLSET=${SETSDIR}/xtools-${REPO_VERSION}-${PRODUCT_ARCH}.txz sh ./clean.sh ${SELF} @@ -63,6 +63,6 @@ ${ENV_FILTER} make -C${SRCDIR} -j${CPUS} native-xtools-install ${MAKE_ARGS} NO_C echo -n ">>> Generating xtools set... " -tar -C ${XTOOLS_DIR} -cJf ${XTOOLS_SET} . +tar -C ${XTOOLS_DIR} -cJf ${XTOOLSET} . echo "done"