diff options
Diffstat (limited to 'abuild.in')
-rwxr-xr-x | abuild.in | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -777,6 +777,10 @@ apk_arch_prefix() { apk index -q "$1" | tar -zxO | awk -F: '$1 == "A" { print $2 }' } +apk_arch_prefix_compat() { + tar -zxOf "$1" .PKGINFO | awk -F" = " '$1 == "arch" { print $2 }' +} + clean_abuildrepo() { local apk cd "$abuildrepo" || return 1 @@ -795,13 +799,17 @@ clean_abuildrepo() { } mklinks_abuildrepo() { - local apk + local apk get_prefix=apk_arch_prefix + local version=$($APK --version | awk '{print $2}') + if [ "$($APK version --test $version 2.1)" = '<' ]; then + get_prefix=apk_arch_prefix_compat + fi mkdir -p "$abuildrepo"/$CARCH "$abuildrepo"/noarch cd "$abuildrepo" || return 1 # create links for this package for apk in $(listpkg); do [ -f "$PKGDEST"/$apk ] || continue - local prefix=$(apk_arch_prefix "$PKGDEST"/$apk) + local prefix=$($get_prefix "$PKGDEST"/$apk) mkdir -p "$abuildrepo"/$prefix ln -sf "$PKGDEST"/$apk "$abuildrepo"/$prefix/$apk done |