summaryrefslogtreecommitdiff
path: root/abuild.in
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-03-30 14:20:15 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2011-03-30 14:20:15 +0000
commit0f27ed17abb2898ad6ef4398c6647d2875a29197 (patch)
tree615c28c7833d6dd65d184f85d417d13473ffd518 /abuild.in
parent88b5a2af368dad792424fb787165f6839e6e37c3 (diff)
downloadabuild-0f27ed17abb2898ad6ef4398c6647d2875a29197.tar.gz
abuild-0f27ed17abb2898ad6ef4398c6647d2875a29197.tar.bz2
abuild-0f27ed17abb2898ad6ef4398c6647d2875a29197.tar.xz
abuild-0f27ed17abb2898ad6ef4398c6647d2875a29197.zip
abuild: fix for apk-tools-2.0.x
apk-tools-2.0's apk index will not show the arch so we need to use tar to find arch if we have old apk. We prefer use apk index since it will only read first block of file, regardless size, while tar will read entire file. Reading entire file is slow if file is big. So we check apk --version and use tar if needed, and apk index if possible.
Diffstat (limited to 'abuild.in')
-rwxr-xr-xabuild.in12
1 files changed, 10 insertions, 2 deletions
diff --git a/abuild.in b/abuild.in
index 8a62d46..8349653 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