build: add PRODUCT_FLAVOUR awareness to ports/packages
This commit is contained in:
parent
020d1eac63
commit
a63303ada9
|
@ -32,15 +32,6 @@ export PRODUCT_VERSION=${PRODUCT_VERSION:-"`date '+%Y%m%d%H%M'`"}
|
|||
export PRODUCT_FLAVOUR=${PRODUCT_FLAVOUR:-"OpenSSL"}
|
||||
export PRODUCT_NAME="OPNsense"
|
||||
|
||||
# define target directories
|
||||
export STAGEDIR="/usr/local/stage"
|
||||
export PACKAGESDIR="/tmp/packages"
|
||||
export IMAGESDIR="/tmp/images"
|
||||
export SETSDIR="/tmp/sets"
|
||||
|
||||
# bootstrap target directories
|
||||
mkdir -p ${STAGEDIR} ${PACKAGESDIR} ${IMAGESDIR} ${SETSDIR}
|
||||
|
||||
# code reositories
|
||||
export TOOLSDIR="/usr/tools"
|
||||
export PORTSDIR="/usr/ports"
|
||||
|
@ -56,6 +47,15 @@ export LABEL=${PRODUCT_NAME}
|
|||
export TARGET_ARCH=${ARCH}
|
||||
export TARGETARCH=${ARCH}
|
||||
|
||||
# define target directories
|
||||
export PACKAGESDIR="/tmp/packages/${ARCH}/${PRODUCT_FLAVOUR}"
|
||||
export STAGEDIR="/usr/local/stage"
|
||||
export IMAGESDIR="/tmp/images"
|
||||
export SETSDIR="/tmp/sets"
|
||||
|
||||
# bootstrap target directories
|
||||
mkdir -p ${STAGEDIR} ${PACKAGESDIR} ${IMAGESDIR} ${SETSDIR}
|
||||
|
||||
# target files
|
||||
export CDROM="${IMAGESDIR}/${PRODUCT_NAME}-${PRODUCT_VERSION}-cdrom-${ARCH}.iso"
|
||||
export SERIALIMG="${IMAGESDIR}/${PRODUCT_NAME}-${PRODUCT_VERSION}-serial-${ARCH}.img"
|
||||
|
@ -173,11 +173,12 @@ setup_packages()
|
|||
shift
|
||||
PKGLIST=${@}
|
||||
|
||||
mkdir -p ${PACKAGESDIR}/${ARCH} ${BASEDIR}${PACKAGESDIR}
|
||||
cp -r ${PACKAGESDIR}/${ARCH} ${BASEDIR}${PACKAGESDIR}
|
||||
mkdir -p ${BASEDIR}${PACKAGESDIR}
|
||||
tar -C ${PACKAGESDIR} -cf - . | \
|
||||
tar -C ${BASEDIR}${PACKAGESDIR} -xpf -
|
||||
|
||||
if [ -z "${PKGLIST}" ]; then
|
||||
PKGLIST=$(ls ${PACKAGESDIR}/${ARCH}/*.txz || true)
|
||||
PKGLIST=$(ls ${PACKAGESDIR}/*.txz || true)
|
||||
for PKG in ${PKGLIST}; do
|
||||
# Adds all available packages but ignores the
|
||||
# ones that cannot be installed due to missing
|
||||
|
@ -190,7 +191,7 @@ setup_packages()
|
|||
# Adds all selected packages and fails if
|
||||
# one cannot be installed. Used to build
|
||||
# final images or regression test systems.
|
||||
pkg -c ${BASEDIR} add ${PACKAGESDIR}/${ARCH}/${PKG}-*.txz
|
||||
pkg -c ${BASEDIR} add ${PACKAGESDIR}/${PKG}-*.txz
|
||||
done
|
||||
fi
|
||||
|
||||
|
@ -204,7 +205,7 @@ setup_packages()
|
|||
done
|
||||
|
||||
# keep the directory!
|
||||
rm -rf ${BASEDIR}${PACKAGESDIR}/${ARCH}/*
|
||||
rm -rf ${BASEDIR}${PACKAGESDIR}/*
|
||||
}
|
||||
|
||||
setup_mtree()
|
||||
|
|
|
@ -29,7 +29,7 @@ set -e
|
|||
|
||||
. ./common.sh
|
||||
|
||||
rm -f ${PACKAGESDIR}/${ARCH}/opnsense-*.txz
|
||||
rm -f ${PACKAGESDIR}/opnsense-*.txz
|
||||
|
||||
git_clear ${PORTSDIR}
|
||||
git_clear ${COREDIR}
|
||||
|
@ -81,7 +81,7 @@ sed -i "" -e '/%%REPO_DEPENDS%%/d' ${STAGEDIR}/+MANIFEST
|
|||
|
||||
echo -n ">>> Creating custom package for ${COREDIR}... "
|
||||
|
||||
pkg -c ${STAGEDIR} create -m / -r / -p /plist -o ${PACKAGESDIR}/${ARCH}
|
||||
mv ${STAGEDIR}${PACKAGESDIR}/${ARCH}/opnsense-*.txz ${PACKAGESDIR}/${ARCH}
|
||||
pkg -c ${STAGEDIR} create -m / -r / -p /plist -o ${PACKAGESDIR}
|
||||
mv ${STAGEDIR}${PACKAGESDIR}/opnsense-*.txz ${PACKAGESDIR}
|
||||
|
||||
echo "done"
|
||||
|
|
|
@ -38,7 +38,7 @@ mkdir -p ${STAGEDIR}/Latest
|
|||
mkdir -p ${STAGEDIR}/All
|
||||
|
||||
# push packages to home location
|
||||
cp ${PACKAGESDIR}/${ARCH}/* ${STAGEDIR}/All
|
||||
cp ${PACKAGESDIR}/* ${STAGEDIR}/All
|
||||
|
||||
# needed bootstrap glue when no packages are on the system
|
||||
cd ${STAGEDIR}/Latest && ln -s ../All/pkg-*.txz pkg.txz
|
||||
|
|
|
@ -38,7 +38,7 @@ git_clear ${SRCDIR}
|
|||
if [ -n "${PORT_JOBS}" ]; then
|
||||
for PORT_JOB in ${PORT_JOBS}; do
|
||||
# clear out the ports that ought to be rebuilt
|
||||
rm -f ${PACKAGESDIR}/${ARCH}/${PORT_JOB}-*.txz
|
||||
rm -f ${PACKAGESDIR}/${PORT_JOB}-*.txz
|
||||
done
|
||||
fi
|
||||
|
||||
|
@ -116,7 +116,7 @@ pkg_resolve_deps()
|
|||
done
|
||||
|
||||
for PORT in \${PORTS}; do
|
||||
pkg create -no ${PACKAGESDIR}/${ARCH} -f txz \${PORT}
|
||||
pkg create -no ${PACKAGESDIR} -f txz \${PORT}
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -131,8 +131,8 @@ echo "${PORT_LIST}" | { while read PORT_NAME PORT_CAT PORT_OPT; do
|
|||
done }
|
||||
EOF
|
||||
|
||||
rm -rf ${PACKAGESDIR}/${ARCH}/*
|
||||
mv ${STAGEDIR}${PACKAGESDIR}/${ARCH}/* ${PACKAGESDIR}/${ARCH}/
|
||||
rm -rf ${PACKAGESDIR}/*
|
||||
mv ${STAGEDIR}${PACKAGESDIR}/* ${PACKAGESDIR}
|
||||
|
||||
if [ -n "${PORT_ABORT}" ]; then
|
||||
echo ">>> The ports build failed. Please inspect the log."
|
||||
|
|
|
@ -36,9 +36,9 @@ fi
|
|||
|
||||
if [ -n "${1}" ]; then
|
||||
# make sure the all-encompassing package is a release, too
|
||||
if [ ! -f ${PACKAGESDIR}/${ARCH}/opnsense-${1}.txz ]; then
|
||||
if [ ! -f ${PACKAGESDIR}/opnsense-${1}.txz ]; then
|
||||
echo "Release version mismatch:"
|
||||
ls ${PACKAGESDIR}/${ARCH}/opnsense-*.txz
|
||||
ls ${PACKAGESDIR}/opnsense-*.txz
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue