diff --git a/build/clean.sh b/build/clean.sh index bccbe2f..b579efa 100644 --- a/build/clean.sh +++ b/build/clean.sh @@ -42,7 +42,7 @@ for ARG in ${@}; do setup_stage ${STAGEDIR} setup_base ${STAGEDIR} extract_packages ${STAGEDIR} - remove_packages ${STAGEDIR} ${PRODUCT_PKGNAMES} + remove_packages ${STAGEDIR} ${PRODUCT_CORES} bundle_packages ${STAGEDIR} ${SELF} core ;; distfiles) @@ -88,7 +88,7 @@ for ARG in ${@}; do setup_stage ${STAGEDIR} setup_base ${STAGEDIR} extract_packages ${STAGEDIR} - remove_packages ${STAGEDIR} "os-*" + remove_packages ${STAGEDIR} ${PRODUCT_PLUGINS} bundle_packages ${STAGEDIR} ${SELF} plugins ;; release) diff --git a/build/common.sh b/build/common.sh index b4c4ddc..5971041 100644 --- a/build/common.sh +++ b/build/common.sh @@ -216,8 +216,10 @@ 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}-devel" -export PRODUCT_PKGNAME="${PRODUCT_TYPE}${PRODUCT_SUFFIX}" +export PRODUCT_CORES="${PRODUCT_TYPE} ${PRODUCT_TYPE}-devel" +export PRODUCT_CORE="${PRODUCT_TYPE}${PRODUCT_SUFFIX}" +export PRODUCT_PLUGINS="os-*" +export PRODUCT_PLUGIN="os-*${PRODUCT_SUFFIX}" if [ "${SELF}" != print -a "${SELF}" != info ]; then if [ -z "${PRINT_ENV_SKIP}" ]; then @@ -599,10 +601,15 @@ 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" + fi for PKGFILE in $({ cd ${BASEDIR} - find .${PACKAGESDIR}/All -name "${PKG}-[0-9]*.txz" + find .${PACKAGESDIR}/All ${PKGSEARCH} }); do pkg -c ${BASEDIR} add ${PKGFILE} PKGFOUND=1 @@ -716,7 +723,7 @@ clean_packages() setup_packages() { extract_packages ${1} - install_packages ${@} ${PRODUCT_PKGNAME} ${PRODUCT_ADDITIONS} + install_packages ${@} ${PRODUCT_CORE} ${PRODUCT_ADDITIONS} clean_packages ${1} } diff --git a/build/ports.sh b/build/ports.sh index 4d11178..d040188 100644 --- a/build/ports.sh +++ b/build/ports.sh @@ -72,7 +72,7 @@ setup_chroot ${STAGEDIR} setup_distfiles ${STAGEDIR} extract_packages ${STAGEDIR} -remove_packages ${STAGEDIR} ${@} ${PRODUCT_PKGNAMES} "os-*" +remove_packages ${STAGEDIR} ${@} ${PRODUCT_CORES} ${PRODUCT_PLUGINS} for PKG in $(cd ${STAGEDIR}; find .${PACKAGESDIR}/All -type f); do # all packages that install have their dependencies fulfilled diff --git a/build/release.sh b/build/release.sh index f28c25f..33f9e2b 100644 --- a/build/release.sh +++ b/build/release.sh @@ -43,9 +43,9 @@ RELEASE_SET="${SETSDIR}/release-${PRODUCT_VERSION}-${PRODUCT_FLAVOUR}-${PRODUCT_ # make sure the all-encompassing package is a release, too setup_stage ${STAGEDIR} extract_packages ${STAGEDIR} -if [ ! -f ${STAGEDIR}${PACKAGESDIR}/All/${PRODUCT_PKGNAME}-${PRODUCT_VERSION}.txz ]; then +if [ ! -f ${STAGEDIR}${PACKAGESDIR}/All/${PRODUCT_CORE}-${PRODUCT_VERSION}.txz ]; then echo "Release package version mismatch:" \ - "$(basename ${STAGEDIR}${PACKAGESDIR}/All/${PRODUCT_PKGNAME}-[0-9]*.txz)" + "$(basename ${STAGEDIR}${PACKAGESDIR}/All/${PRODUCT_CORE}-[0-9]*.txz)" exit 1 fi diff --git a/build/test.sh b/build/test.sh index 4ca3b52..75f3ec1 100644 --- a/build/test.sh +++ b/build/test.sh @@ -41,7 +41,7 @@ setup_clone ${STAGEDIR} ${PLUGINSDIR} setup_chroot ${STAGEDIR} extract_packages ${STAGEDIR} -install_packages ${STAGEDIR} "os-*${PRODUCT_SUFFIX}" ${PRODUCT_PKGNAME} +install_packages ${STAGEDIR} ${PRODUCT_CORE} ${PRODUCT_PLUGIN} echo ">>> Running packages test suite..." chroot ${STAGEDIR} /bin/sh -es <