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 --- helper.sh | 59 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 48 insertions(+), 11 deletions(-) (limited to 'helper.sh') diff --git a/helper.sh b/helper.sh index 44beaffc1..f12f9a121 100755 --- a/helper.sh +++ b/helper.sh @@ -4,8 +4,12 @@ source "${PKG_BASE}/architect.sh" export FAKEROOT="fakeroot -i \"${PKG_BASE}/.fakeroot\" -s \"${PKG_BASE}/.fakeroot\"" -export PKG_ROOT="$(xcrun -sdk ${PKG_SDK} --show-sdk-path)" -export PKG_CCPF=$("${PKG_TARG}-gcc" -v 2>&1 | grep -- --prefix | sed -e 's/.*--prefix=\([^ ]*\).*/\1/') +if [ -z "${PKG_ROOT}" ]; then + export PKG_ROOT="$(xcrun -sdk ${PKG_SDK} --show-sdk-path)" +fi +if [ -z "${PKG_CCPF}" ]; then + export PKG_CCPF=$("${PKG_TARG}-gcc" -v 2>&1 | grep -- --prefix | sed -e 's/.*--prefix=\([^ ]*\).*/\1/') +fi source "${PKG_BASE}/folders.sh" @@ -15,31 +19,64 @@ if [[ ${PKG_NAME} != @(-|:*) ]]; then export PKG_WORK=$(PKG_WORK_ "${PKG_NAME}") export PKG_DEST=$(PKG_DEST_ "${PKG_NAME}") + if [ -n "${PKG_PARENT}" ]; then + export PKG_DATA=$(echo "${PKG_BASE}"/data/"${PKG_PARENT}"?(_)) + export PKG_PARENT_DEST=$(PKG_DEST_ "${PKG_PARENT}") + else + export PKG_DATA=$(echo "${PKG_BASE}"/data/"${PKG_NAME}"?(_)) + declare -a PKG_CHILDREN + for instfile in "${PKG_DATA}"/*.install; do + CHILD="$(basename ${instfile%.install})" + PKG_CHILDREN[${#PKG_CHILDREN[@]}]="${CHILD}" + done + export PKG_CHILDREN + fi + if [[ ! -e ${PKG_DATA} ]]; then + echo "unknown package: ${PKG_NAME}" 1>&2 + exit 1 + fi export PKG_STAT=${PKG_BASE}/stat/${PKG_ARCH}/${PKG_CFTARG}/${PKG_NAME} - export PKG_DATA=$(echo "${PKG_BASE}"/data/"${PKG_NAME}"?(_)) export PKG_RVSN=$(cat "${PKG_STAT}/dest-ver" 2>/dev/null) - if [[ -e "${PKG_DATA}/_metadata/zlib" ]]; then + if [[ -e "${PKG_DATA}/_metadata/${PKG_NAME}/zlib" ]]; then + export PKG_ZLIB=$(cat "${PKG_DATA}/_metadata/${PKG_NAME}/zlib") + elif [[ -e "${PKG_DATA}/_metadata/zlib" ]]; then export PKG_ZLIB=$(cat "${PKG_DATA}/_metadata/zlib") else export PKG_ZLIB=lzma fi - if [[ -e "${PKG_DATA}/_metadata/version" ]]; then + if [[ -e "${PKG_DATA}/_metadata/${PKG_NAME}/version" ]]; then + export PKG_VRSN=$(cat "${PKG_DATA}/_metadata/${PKG_NAME}/version") + elif [[ -e "${PKG_DATA}/_metadata/version" ]]; then export PKG_VRSN=$(cat "${PKG_DATA}/_metadata/version") fi - if [[ -e "${PKG_DATA}/_metadata/priority" ]]; then + if [[ -e "${PKG_DATA}/_metadata/${PKG_NAME}/priority" ]]; then + export PKG_PRIO=$(cat "${PKG_DATA}/_metadata/${PKG_NAME}/priority") + elif [[ -e "${PKG_DATA}/_metadata/priority" ]]; then export PKG_PRIO=$(cat "${PKG_DATA}/_metadata/priority") fi - if [[ ! -e ${PKG_DATA} ]]; then - echo "unknown package: ${PKG_NAME}" 1>&2 - exit 1 - fi - declare -a PKG_DEPS + for dep in "${PKG_DATA}/_metadata/${PKG_NAME}"/*.dep; do + PKG_DEPS[${#PKG_DEPS[@]}]=$(basename "${dep}" .dep) + done + for dep in "${PKG_DATA}"/_metadata/*.dep; do PKG_DEPS[${#PKG_DEPS[@]}]=$(basename "${dep}" .dep) done + + for file in "${PKG_DATA}"/_metadata/* "${PKG_DATA}"/_metadata/${PKG_NAME}/*; do + key="$(basename ${file})" + if [[ ${key} == *."${PKG_ARCH}" ]]; then + key="${key%.${PKG_ARCH}}_ARCH" + elif [[ ${key} == *.* || ${key} == *-* ]]; then + continue + fi + variable="PKG_FILE_$(tr '[:lower:]' '[:upper:]' <<< ${key})"; + declare "$variable"="${file}" + export $variable + done + export PKG_FILE_DESCRIPTION="${PKG_DATA}/_metadata/${PKG_NAME}/description" fi -- cgit v1.2.3