From abdd9a04698a4a77058d83ed0dae59d3053618f7 Mon Sep 17 00:00:00 2001 From: Sam Bingner Date: Mon, 23 Mar 2020 14:40:26 -1000 Subject: Infrastructure to build a metapackage and _librsync metapackage --- package.sh | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'package.sh') diff --git a/package.sh b/package.sh index ba8eefa7c..69ca724f1 100755 --- a/package.sh +++ b/package.sh @@ -15,14 +15,26 @@ export PKG_BASE=$(realpath "$(dirname "$0")") # when running fakeroot, we shouldn't use the previous build result # as we don't have the fakeroot session info anymore -if [[ -z ${FAKEROOTKEY} ]]; then - ./make.sh "${PKG_NAME}" -else - ./remake.sh "${PKG_NAME}" +if [[ -z "${PKG_PARENT}" ]]; then + if [[ -z ${FAKEROOTKEY} ]]; then + ./make.sh "${PKG_NAME}" + else + ./remake.sh "${PKG_NAME}" + fi fi source "${PKG_BASE}/helper.sh" +if [[ -n "${PKG_CHILDREN[0]}" ]]; then + export PKG_PARENT="${PKG_NAME}" + # metapackage + for child in "${PKG_CHILDREN[@]}"; do + echo Trying ${child} + "$0" ${child} + done + exit 0; +fi + pkg: mkdir -p /DEBIAN ./control.sh "${PKG_NAME}" control >"$(pkg_ /DEBIAN/control)" @@ -34,6 +46,8 @@ for script in preinst extrainst_ postinst prerm postrm; do else ./exec.sh - ldid -S "$(pkg_ /DEBIAN)/${script}" fi + elif [[ -e "${PKG_DATA}/_metadata/${script}.${PKG_ARCH}" ]]; then + cp -a "${PKG_DATA}/_metadata/${script}.${PKG_ARCH}" "$(pkg_ /DEBIAN)/${script}" elif [[ -e "${PKG_DATA}/_metadata/${script}" ]]; then cp -a "${PKG_DATA}/_metadata/${script}" "$(pkg_ /DEBIAN)" fi @@ -47,6 +61,10 @@ export PKG_HASH=$(util/catdir.sh "${PKG_DEST}" | md5sum | cut -d ' ' -f 1) echo "hashed dest ${PKG_NAME} to: ${PKG_HASH}" NEED_PACK=0 +if [ ! -d "${PKG_STAT}" ]; then + mkdir -p "${PKG_STAT}" +fi + if [[ -z ${PKG_RVSN} || ! -e "${PKG_STAT}/dest-md5" || ${PKG_HASH} != $(cat "${PKG_STAT}/dest-md5" 2>/dev/null) ]]; then if [[ -z ${PKG_RVSN} ]]; then PKG_RVSN=1 @@ -55,14 +73,13 @@ if [[ -z ${PKG_RVSN} || ! -e "${PKG_STAT}/dest-md5" || ${PKG_HASH} != $(cat "${P fi NEED_PACK=1 fi -export PKG_PACK=${PKG_BASE}/debs/${PKG_CFTARG}/${PKG_NAME}_${PKG_VRSN}-${PKG_RVSN}_${PKG_ARCH}.deb +export PKG_PACK=${PKG_BASE}/debs/${PKG_CFTARG}/${PKG_NAME}_${PKG_VRSN//:/_}-${PKG_RVSN}_${PKG_ARCH}.deb if [[ ${NEED_PACK} == 0 && -f "${PKG_PACK}" ]]; then echo "skipping re-package of ${PKG_NAME}" else if [[ ! -d "${PKG_BASE}/debs/${PKG_CFTARG}" ]]; then mkdir -p "${PKG_BASE}/debs/${PKG_CFTARG}" fi - export PKG_PACK=${PKG_BASE}/debs/${PKG_CFTARG}/${PKG_NAME}_${PKG_VRSN}-${PKG_RVSN}_${PKG_ARCH}.deb if [[ -e ${PKG_PACK} ]]; then echo "package ${PKG_PACK} already exists..." else -- cgit v1.2.3