build: inject obsolete set into base set
This commit is contained in:
parent
68e33100d4
commit
63ad5534f7
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
Loading…
Reference in New Issue