build: decpouple top package suffix

This commit is contained in:
Franco Fichtner 2016-07-12 07:22:57 +02:00
parent 789d95217b
commit e1a4e36eec
8 changed files with 27 additions and 13 deletions

View File

@ -23,6 +23,7 @@ lint:
NAME?= OPNsense
TYPE?= ${NAME:tl}
SUFFIX?= #-devel
FLAVOUR?= OpenSSL
SETTINGS?= 16.1
DEVICE?= a10
@ -80,5 +81,5 @@ ${STEP}: lint
-C ${COREDIR} -R ${PORTSREFDIR} -t ${TYPE} -k "${PRIVKEY}" \
-K "${PUBKEY}" -l "${SIGNCHK}" -L "${SIGNCMD}" -d ${DEVICE} \
-m ${MIRRORS:Ox:[1]} -o "${STAGEDIRPREFIX}" -c ${SPEED} \
-u "${UEFI:tl}" ${${STEP}_ARGS}
-u "${UEFI:tl}" -U "${SUFFIX}" ${${STEP}_ARGS}
.endfor

View File

@ -83,7 +83,8 @@ Available build options are:
* PUBKEY: the public key for signing sets
* SETTINGS: the name of the selected settings in config/
* SPEED: serial speed, e.g. "115200" (default)
* TYPE: the name of the meta package to be installed
* TYPE: the base name of the top package to be installed
* SUFFIX: the suffix of top package name (empty, "-stable", "-devel")
* UEFI: "yes" for amd64 hybrid images with optional UEFI boot
* VERSION: a version tag (if applicable)

View File

@ -46,8 +46,7 @@ for ARG in ${@}; do
setup_stage ${STAGEDIR}
setup_base ${STAGEDIR}
extract_packages ${STAGEDIR}
remove_packages ${STAGEDIR} ${PRODUCT_TYPE} \
${PRODUCT_TYPE}-stable ${PRODUCT_TYPE}-devel
remove_packages ${STAGEDIR} ${PRODUCT_PKGNAMES}
bundle_packages ${STAGEDIR} ${SELF} core
;;
distfiles)

View File

@ -40,7 +40,7 @@ usage()
exit 1
}
while getopts C:c:d:f:K:k:L:l:m:n:o:P:p:R:S:s:T:t:u:v: OPT; do
while getopts C:c:d:f:K:k:L:l:m:n:o:P:p:R:S:s:T:t:U:u:v: OPT; do
case ${OPT} in
C)
export COREDIR=${OPTARG}
@ -124,6 +124,18 @@ while getopts C:c:d:f:K:k:L:l:m:n:o:P:p:R:S:s:T:t:u:v: OPT; do
export PRODUCT_TYPE=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
U)
case "${OPTARG}" in
''|-stable|-devel)
export PRODUCT_SUFFIX=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
*)
echo "SUFFIX wants empty string, -stable or -devel" >&2
exit 1
;;
esac
;;
u)
if [ "${OPTARG}" = "yes" ]; then
export PRODUCT_UEFI=${OPTARG}
@ -183,6 +195,8 @@ 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_VERSION}-${PRODUCT_FLAVOUR}"
export PRODUCT_PKGNAMES="${PRODUCT_TYPE} ${PRODUCT_TYPE}-stable ${PRODUCT_TYPE}-devel"
export PRODUCT_PKGNAME="${PRODUCT_TYPE}${PRODUCT_SUFFIX}"
# print environment to showcase all of our variables
env | sort
@ -632,7 +646,7 @@ setup_packages()
{
# legacy package extract
extract_packages ${1}
install_packages ${@} ${PRODUCT_TYPE}
install_packages ${@} ${PRODUCT_PKGNAME}
clean_packages ${1}
}

View File

@ -50,7 +50,7 @@ else
fi
for CORE_TAG in ${CORE_TAGS}; do
CORE_NAME=${PRODUCT_TYPE}
CORE_NAME=${PRODUCT_PKGNAME}
CORE_FAMILY="release"
CORE_ARGS="CORE_NAME=${CORE_NAME} CORE_FAMILY=${CORE_FAMILY}"
CORE_DEPS=$(make -C ${STAGEDIR}${COREDIR} depends)

View File

@ -43,8 +43,7 @@ setup_chroot ${STAGEDIR}
setup_distfiles ${STAGEDIR}
extract_packages ${STAGEDIR}
remove_packages ${STAGEDIR} ${@} "os-*" "ospriv-*" ${PRODUCT_TYPE} \
${PRODUCT_TYPE}-stable ${PRODUCT_TYPE}-devel
remove_packages ${STAGEDIR} ${@} ${PRODUCT_PKGNAMES} "os-*" "ospriv-*"
bootstrap_packages ${STAGEDIR}
echo ">>> Building packages..."

View File

@ -34,9 +34,9 @@ SELF=release
# make sure the all-encompassing package is a release, too
setup_stage ${STAGEDIR}
extract_packages ${STAGEDIR}
if [ ! -f ${STAGEDIR}${PACKAGESDIR}/All/${PRODUCT_TYPE}-${PRODUCT_VERSION}.txz ]; then
if [ ! -f ${STAGEDIR}${PACKAGESDIR}/All/${PRODUCT_PKGNAME}-${PRODUCT_VERSION}.txz ]; then
echo "Release version mismatch:"
(cd ${STAGEDIR}${PACKAGESDIR}/All; ls ${PRODUCT_TYPE}-*.txz)
(cd ${STAGEDIR}${PACKAGESDIR}/All; ls ${PRODUCT_PKGNAME}-*.txz)
exit 1
fi

View File

@ -38,11 +38,11 @@ setup_clone ${STAGEDIR} ${PLUGINSDIR}
setup_chroot ${STAGEDIR}
extract_packages ${STAGEDIR}
install_packages ${STAGEDIR} pkg ${PRODUCT_TYPE} pear-PHP_CodeSniffer phpunit
install_packages ${STAGEDIR} pkg pear-PHP_CodeSniffer phpunit ${PRODUCT_PKGNAME}
# don't want to deinstall in case of testing...
# install all plugins, see if files clash
# between those and PRODUCT_TYPE package
# between those and PRODUCT_PKGNAME package
for PKGFILE in $({
cd ${STAGEDIR}
# ospriv- means development so is ok to break