summaryrefslogtreecommitdiff
path: root/helper.sh
blob: f12f9a121465f9651257cd1a8f56761bd55b47a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash

source "${PKG_BASE}/architect.sh"

export FAKEROOT="fakeroot -i \"${PKG_BASE}/.fakeroot\" -s \"${PKG_BASE}/.fakeroot\""

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"

if [[ ${PKG_NAME} != @(-|:*) ]]; then
    export PKG_MORE=$(PKG_MORE_ "${PKG_NAME}")
    export PKG_DATA=$(PKG_DATA_ "${PKG_NAME}")
    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_RVSN=$(cat "${PKG_STAT}/dest-ver" 2>/dev/null)

    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/${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/${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

    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