diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2012-09-12 07:11:56 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2012-09-12 08:25:42 +0000 |
commit | 637b9e8c0385ff6efe0c60fe1b51fd3c48b06913 (patch) | |
tree | fae78630defdfa324814377cfcc1d67df4b1f2d1 | |
parent | a2c7cca4bbc13f281cccf05a070be290b9e3b61b (diff) | |
download | aports-637b9e8c0385ff6efe0c60fe1b51fd3c48b06913.tar.bz2 aports-637b9e8c0385ff6efe0c60fe1b51fd3c48b06913.tar.xz |
main/abuild: more fixes for shared objects scanning
-rw-r--r-- | main/abuild/APKBUILD | 6 | ||||
-rw-r--r-- | main/abuild/abuild-git.patch (renamed from main/abuild/abuild-git-20120910.patch) | 33 |
2 files changed, 19 insertions, 20 deletions
diff --git a/main/abuild/APKBUILD b/main/abuild/APKBUILD index 76f168d20c..d708a500c1 100644 --- a/main/abuild/APKBUILD +++ b/main/abuild/APKBUILD @@ -2,7 +2,7 @@ pkgdesc="Script to build Alpine Packages" pkgname=abuild pkgver=2.12.1 -pkgrel=6 +pkgrel=7 url=http://git.alpinelinux.org/cgit/abuild/ depends="fakeroot file sudo pax-utils openssl apk-tools>=2.0.7-r1 uclibc-utils abuildhelper curl" @@ -13,7 +13,7 @@ pkggroups="abuild" arch="all" license=GPL-2 source="http://git.alpinelinux.org/cgit/abuild/snapshot/abuild-$pkgver.tar.bz2 - abuild-git-20120910.patch" + abuild-git.patch" prepare() { cd "$srcdir/$pkgname-$pkgver" @@ -48,4 +48,4 @@ cpan() { } md5sums="92348750a3354c3ec7b811716543b8e5 abuild-2.12.1.tar.bz2 -20b3511f09b8e60e33fb162b0c5646db abuild-git-20120910.patch" +ed9600723681dbcb48fb62bfa19c3ca9 abuild-git.patch" diff --git a/main/abuild/abuild-git-20120910.patch b/main/abuild/abuild-git.patch index 08d767b457..187d3c4dc2 100644 --- a/main/abuild/abuild-git-20120910.patch +++ b/main/abuild/abuild-git.patch @@ -1,5 +1,5 @@ diff --git a/abuild.in b/abuild.in -index 2780d2e..db9fdf9 100755 +index 2780d2e..b86a941 100755 --- a/abuild.in +++ b/abuild.in @@ -404,6 +404,9 @@ default_unpack() { @@ -64,7 +64,7 @@ index 2780d2e..db9fdf9 100755 found=${j%/.provides-so} found=${found##*/.control.} break -@@ -911,26 +911,110 @@ trace_apk_deps() { +@@ -911,26 +911,109 @@ trace_apk_deps() { fi done @@ -81,38 +81,37 @@ index 2780d2e..db9fdf9 100755 } +find_scanelf_paths() { -+ local controldir="$1" datadir="$2" -+ local paths="$datadir/lib:$datadir/usr/lib" i= rpath= ++ local datadir="$1" ++ local paths="$datadir/lib:$datadir/usr/lib" i= rpaths= + if [ -n "$ldpath" ]; then + paths="$paths:$(echo "$ldpath" | sed "s|\(^\|:\)|\1$datadir|g")" + fi + # search in all rpaths -+ for rpath in "$pkgbasedir"/.control.*/.rpath; do -+ [ -f "$rpath" ] || continue ++ for rpaths in "$pkgbasedir"/.control.*/.rpaths; do ++ [ -f "$rpaths" ] || continue + while read i; do -+ if [ -d "$datadir/$i" ]; then -+ paths="$paths:$datadir/$i" ++ local dir="${datadir}${i}" ++ IFS=: ++ if [ -d "$dir" ] && ! list_has "$dir" $paths; then ++ paths="$paths:${dir}" + fi -+ done < "$rpath" ++ unset IFS ++ done < "$rpaths" + done + echo "$paths" +} + +scan_shared_objects() { + local name="$1" controldir="$2" datadir="$3" -+ local opt= + + # allow spaces in paths + IFS=: -+ set -- $(find_scanelf_paths "$controldir" "$datadir") ++ set -- $(find_scanelf_paths "$datadir") + unset IFS + -+ if options_has "ldpath-recursive"; then -+ opt="--recursive" -+ fi + msg "Scanning shared objects" + # lets tell all the .so files this package provides in .provides-so -+ scanelf --nobanner --soname $opt "$@" | while read etype soname file; do ++ scanelf --nobanner --soname "$@" | while read etype soname file; do + # if soname field is missing, soname will be the filepath + sover=0 + if [ -z "$file" ]; then @@ -183,7 +182,7 @@ index 2780d2e..db9fdf9 100755 ( cd "$datadir" # data.tar.gz -@@ -941,6 +1025,7 @@ create_apks() { +@@ -941,6 +1024,7 @@ create_apks() { fi tar -c "$@" | abuild-tar --hash | gzip -9 >"$dir"/data.tar.gz @@ -191,7 +190,7 @@ index 2780d2e..db9fdf9 100755 # append the hash for data.tar.gz local sha256=$(sha256sum "$dir"/data.tar.gz | cut -f1 -d' ') echo "datahash = $sha256" >> "$dir"/.PKGINFO -@@ -951,10 +1036,12 @@ create_apks() { +@@ -951,10 +1035,12 @@ create_apks() { | gzip -9 > control.tar.gz abuild-sign -q control.tar.gz || exit 1 |