build: inject obsolete set into base set

This commit is contained in:
Franco Fichtner 2018-10-15 16:04:08 +02:00
parent 68e33100d4
commit 63ad5534f7
6 changed files with 36464 additions and 38600 deletions

View File

@ -69,27 +69,30 @@ sh ./clean.sh ${SELF}
setup_stage ${STAGEDIR} work
echo ">>> Generating kernel set:"
echo ">>> Generating base set:"
BASE_SET=${SETSDIR}/base-${REPO_VERSION}-${PRODUCT_ARCH}
BASE_SET=${SETSDIR}/base-${REPO_VERSION}-${PRODUCT_ARCH}.txz
setup_set ${STAGEDIR}/work ${BASE_OBJ}
setup_version ${STAGEDIR} ${STAGEDIR}/work ${SELF}
generate_set ${STAGEDIR}/work ${BASE_SET}.txz
# XXX needs to be in obsolete file list for control purposes
mkdir -p ${STAGEDIR}/work/usr/local/opnsense/version
touch ${STAGEDIR}/work/usr/local/opnsense/version/base
touch ${STAGEDIR}/work/usr/local/opnsense/version/base.mtree
touch ${STAGEDIR}/work/usr/local/opnsense/version/base.obsolete
echo -n ">>> Generating obsolete file list... "
tar -tf ${BASE_SET}.txz | \
sed -e 's/^\.//g' -e '/\/$/d' | sort > ${STAGEDIR}/setdiff.new
(cd ${STAGEDIR}/work; find . ! -type d) | sed -e 's/^\.//g' | \
sort > ${STAGEDIR}/setdiff.new
: > ${STAGEDIR}/setdiff.old
if [ -s ${CONFIGDIR}/plist.base.${PRODUCT_ARCH} ]; then
cat ${CONFIGDIR}/plist.base.${PRODUCT_ARCH} | \
sed -e 's/^\.//g' -e '/\/$/d' | sort > ${STAGEDIR}/setdiff.old
if [ -f ${CONFIGDIR}/plist.base.${PRODUCT_ARCH} ]; then
cp ${CONFIGDIR}/plist.base.${PRODUCT_ARCH} ${STAGEDIR}/setdiff.old
fi
: > ${STAGEDIR}/setdiff.tmp
if [ -s ${CONFIGDIR}/plist.obsolete.${PRODUCT_ARCH} ]; then
if [ -f ${CONFIGDIR}/plist.obsolete.${PRODUCT_ARCH} ]; then
diff -u ${CONFIGDIR}/plist.obsolete.${PRODUCT_ARCH} \
${STAGEDIR}/setdiff.new | grep '^-/' | \
cut -b 2- > ${STAGEDIR}/setdiff.tmp
@ -97,9 +100,14 @@ fi
(cat ${STAGEDIR}/setdiff.tmp; diff -u ${STAGEDIR}/setdiff.old \
${STAGEDIR}/setdiff.new | grep '^-/' | cut -b 2-) | \
sort -u > ${BASE_SET}.obsolete
sort -u > ${STAGEDIR}/obsolete
echo "done"
generate_signature ${BASE_SET}.txz
generate_signature ${BASE_SET}.obsolete
setup_version ${STAGEDIR} ${STAGEDIR}/work ${SELF} ${STAGEDIR}/obsolete
generate_set ${STAGEDIR}/work ${BASE_SET}
generate_signature ${BASE_SET}
# XXX obsolete set usage will be removed in 19.1
cp ${STAGEDIR}/obsolete ${BASE_SET%%.txz}.obsolete
generate_signature ${BASE_SET%%.txz}.obsolete

View File

@ -485,8 +485,9 @@ setup_version()
rm -rf ${VERSIONDIR}
mkdir -p ${VERSIONDIR}
if [ -f ${CONFIGDIR}/plist.${3}.${PRODUCT_ARCH} ]; then
: # XXX obsolete file handling
# inject obsolete file from previous copy
if [ -f "${4}" ]; then
cp ${4} ${VERSIONDIR}/${3}.obsolete
fi
# embed version info into target file

View File

@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (c) 2015-2017 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2015-2018 Franco Fichtner <franco@opnsense.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@ -34,5 +34,6 @@ SELF=rebase
BASE_OBSOLETE=$(find ${SETSDIR} -name "base-*-${PRODUCT_ARCH}.obsolete")
BASE_SET=$(find ${SETSDIR} -name "base-*-${PRODUCT_ARCH}.txz")
tar -tf ${BASE_SET} | sort > ${CONFIGDIR}/plist.base.${PRODUCT_ARCH}
tar -tf ${BASE_SET} | sed -e 's/^\.//g' -e '/\/$/d' | sort > \
${CONFIGDIR}/plist.base.${PRODUCT_ARCH}
cp ${BASE_OBSOLETE} ${CONFIGDIR}/plist.obsolete.${PRODUCT_ARCH}

View File

@ -43,8 +43,10 @@ for ARG in ${@}; do
echo ">>> Repacking base set..."
BASE_SET=$(find ${SETSDIR} -name "base-*-${PRODUCT_ARCH}.txz")
setup_set ${STAGEDIR}/work ${BASE_SET}
cp ${STAGEDIR}/work/usr/local/opnsense/version/base.obsolete \
${STAGEDIR}/obsolete
REPO_VERSION=${PRODUCT_VERSION}
setup_version ${STAGEDIR} ${STAGEDIR}/work ${ARG}
setup_version ${STAGEDIR} ${STAGEDIR}/work ${ARG} ${STAGEDIR}/obsolete
rm ${BASE_SET}
generate_set ${STAGEDIR}/work ${BASE_SET}
generate_signature ${BASE_SET}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff