aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2012-09-12 07:11:56 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2012-09-12 08:25:42 +0000
commit637b9e8c0385ff6efe0c60fe1b51fd3c48b06913 (patch)
treefae78630defdfa324814377cfcc1d67df4b1f2d1
parenta2c7cca4bbc13f281cccf05a070be290b9e3b61b (diff)
downloadaports-637b9e8c0385ff6efe0c60fe1b51fd3c48b06913.tar.bz2
aports-637b9e8c0385ff6efe0c60fe1b51fd3c48b06913.tar.xz
main/abuild: more fixes for shared objects scanning
-rw-r--r--main/abuild/APKBUILD6
-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