build: make sure the build can cope with SUFFIX=-business
We do not want to install globs as the matching is very fuzzy and also we no longer do. To make sure prevent use of globs in install_packages so we can catch this in nightly builds if it ever happens. While here, allow to set a VERSION for core builds which ignores the tag-version-derivation. It is useful for prerelease building. Last but not least ADDITIONS should no longer look for SUFFIX so if you want to build an image with SUFFIX=-devel and use a development plugin overwrite ADDITIONS accordingly, e.g. ADDTIONS=os-dyndns-devel
This commit is contained in:
parent
dde4e340ed
commit
a927e81e30
2
Makefile
2
Makefile
|
@ -77,7 +77,7 @@ _ARCH!= uname -p
|
|||
ARCH?= ${_ARCH}
|
||||
ABI?= ${SETTINGS}
|
||||
KERNEL?= SMP
|
||||
ADDITIONS?= os-dyndns${SUFFIX}
|
||||
ADDITIONS?= os-dyndns
|
||||
DEVICE?= A10
|
||||
COMSPEED?= 115200
|
||||
COMPORT?= 0x3f8
|
||||
|
|
|
@ -64,7 +64,7 @@ Available build options are:
|
|||
* NAME: "OPNsense" (default)
|
||||
* PRIVKEY: the private key for signing sets
|
||||
* PUBKEY: the public key for signing sets
|
||||
* SUFFIX: the suffix of top package name (empty, "-devel")
|
||||
* SUFFIX: the suffix of top package name (default is empty)
|
||||
* TYPE: the base name of the top package to be installed
|
||||
* UEFI: use amd64 hybrid images for said images, e.g. "vga vm"
|
||||
* VERSION: a version tag (if applicable)
|
||||
|
|
|
@ -153,11 +153,11 @@ while getopts ${OPTS} OPT; do
|
|||
;;
|
||||
U)
|
||||
case "${OPTARG}" in
|
||||
''|-devel)
|
||||
''|-business|-devel)
|
||||
export PRODUCT_SUFFIX=${OPTARG}
|
||||
;;
|
||||
*)
|
||||
echo "SUFFIX wants empty string or '-devel'" >&2
|
||||
echo "SUFFIX '${OPTARG}' is not supported" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
@ -261,10 +261,11 @@ export PRODUCT_PUBKEY=${PRODUCT_PUBKEY:-"${CONFIGDIR}/repo.pub"}
|
|||
export PRODUCT_SIGNCMD=${PRODUCT_SIGNCMD:-"${TOOLSDIR}/scripts/pkg_sign.sh ${PRODUCT_PUBKEY} ${PRODUCT_PRIVKEY}"}
|
||||
export PRODUCT_SIGNCHK=${PRODUCT_SIGNCHK:-"${TOOLSDIR}/scripts/pkg_fingerprint.sh ${PRODUCT_PUBKEY}"}
|
||||
export PRODUCT_RELEASE="${PRODUCT_NAME}${PRODUCT_SUFFIX}-${PRODUCT_VERSION}-${PRODUCT_FLAVOUR}"
|
||||
export PRODUCT_CORES="${PRODUCT_TYPE} ${PRODUCT_TYPE}-devel"
|
||||
export PRODUCT_CORES="${PRODUCT_TYPE} ${PRODUCT_TYPE}-devel ${PRODUCT_TYPE}-business"
|
||||
export PRODUCT_CORE="${PRODUCT_TYPE}${PRODUCT_SUFFIX}"
|
||||
export PRODUCT_DEVEL="${PRODUCT_SUFFIX%-business}"
|
||||
export PRODUCT_PLUGINS="os-*"
|
||||
export PRODUCT_PLUGIN="os-*${PRODUCT_SUFFIX}"
|
||||
export PRODUCT_PLUGIN="os-*${PRODUCT_DEVEL}"
|
||||
|
||||
# assume that arguments mean we are doing a rebuild
|
||||
if [ -n "${*}" ]; then
|
||||
|
@ -845,15 +846,14 @@ install_packages()
|
|||
# Adds all selected packages and fails if one cannot
|
||||
# be installed. Used to build a runtime environment.
|
||||
for PKG in pkg ${PKGLIST}; do
|
||||
PKGGLOB=$(echo "${PKG}" | sed 's/[^*]*//')
|
||||
PKGSEARCH="-name ${PKG}-[0-9]*.txz"
|
||||
PKGFOUND=
|
||||
if [ -n "${PKGGLOB}" -a -z "${PRODUCT_SUFFIX}" ]; then
|
||||
PKGSEARCH="${PKGSEARCH} ! -name ${PKG}-devel-[0-9]*.txz"
|
||||
if [ -n "$(echo "${PKG}" | sed 's/[^*]*//')" ]; then
|
||||
echo "Cannot install globbed package: ${PKG}" >&2
|
||||
exit 1
|
||||
fi
|
||||
PKGFOUND=
|
||||
for PKGFILE in $({
|
||||
cd ${BASEDIR}
|
||||
find .${PACKAGESDIR}/All ${PKGSEARCH}
|
||||
find .${PACKAGESDIR}/All -name ${PKG}-[0-9]*.txz
|
||||
}); do
|
||||
pkg -c ${BASEDIR} add ${PKGFILE}
|
||||
PKGFOUND=1
|
||||
|
|
|
@ -47,11 +47,18 @@ remove_packages ${STAGEDIR} ${@}
|
|||
install_packages ${STAGEDIR} pkg git
|
||||
lock_packages ${STAGEDIR}
|
||||
|
||||
if [ -n "${VERSION}" ]; then
|
||||
CORE_PKGVERSION="CORE_PKGVERSION=${VERSION}"
|
||||
fi
|
||||
|
||||
for BRANCH in ${EXTRABRANCH} ${COREBRANCH}; do
|
||||
setup_copy ${STAGEDIR} ${COREDIR}
|
||||
git_reset ${STAGEDIR}${COREDIR} ${BRANCH}
|
||||
|
||||
CORE_ARGS="CORE_ARCH=${PRODUCT_ARCH} CORE_FLAVOUR=${PRODUCT_FLAVOUR} ${COREENV}"
|
||||
if [ ${BRANCH} = ${COREBRANCH} ]; then
|
||||
CORE_ARGS="${CORE_ARGS} ${CORE_PKGVERSION}"
|
||||
fi
|
||||
|
||||
CORE_NAME=$(make -C ${STAGEDIR}${COREDIR} ${CORE_ARGS} name)
|
||||
CORE_DEPS=$(make -C ${STAGEDIR}${COREDIR} ${CORE_ARGS} depends)
|
||||
|
|
|
@ -41,7 +41,7 @@ setup_clone ${STAGEDIR} ${PLUGINSDIR}
|
|||
setup_chroot ${STAGEDIR}
|
||||
|
||||
extract_packages ${STAGEDIR}
|
||||
install_packages ${STAGEDIR} ${PRODUCT_CORE} os-debug${PRODUCT_SUFFIX}
|
||||
install_packages ${STAGEDIR} ${PRODUCT_CORE} os-debug${PRODUCT_DEVEL}
|
||||
lock_packages ${STAGEDIR}
|
||||
|
||||
# XXX plugins have conflicts, cannot install all for following check
|
||||
|
|
Loading…
Reference in New Issue