summaryrefslogtreecommitdiff
path: root/helper.sh
diff options
context:
space:
mode:
Diffstat (limited to 'helper.sh')
-rwxr-xr-xhelper.sh59
1 files changed, 48 insertions, 11 deletions
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