diff --git a/abuild.in b/abuild.in index 8a62d46096c6e6a2b69c42bdc580eb904cf32cbf..834965344d6d4c8c815b846b3740f76561c2787b 100755 --- a/abuild.in +++ b/abuild.in @@ -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