build: move set load to common code, rename vars for consistent style

This commit is contained in:
Franco Fichtner 2021-07-08 12:05:40 +02:00
parent d8b0f605d3
commit f7ed343a6f
10 changed files with 114 additions and 73 deletions

View File

@ -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}

View File

@ -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}... "

View File

@ -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

View File

@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (c) 2014-2020 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2014-2021 Franco Fichtner <franco@opnsense.org>
#
# 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}

View File

@ -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

View File

@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (c) 2015-2020 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2015-2021 Franco Fichtner <franco@opnsense.org>
#
# 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}

View File

@ -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"

View File

@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (c) 2016-2019 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2016-2021 Franco Fichtner <franco@opnsense.org>
#
# 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

View File

@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (c) 2016-2020 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2016-2021 Franco Fichtner <franco@opnsense.org>
#
# 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}

View File

@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (c) 2016-2017 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2016-2021 Franco Fichtner <franco@opnsense.org>
#
# 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"