From b4f7e56a38e724e9430ff272fce150f01182a3e3 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 5 Sep 2012 13:07:07 +0000
Subject: main/abuild: use correct version number for provides

---
 ...clude-correct-version-number-for-provides.patch | 69 ++++++++++++++++++++++
 ...1-abuild-use-so-as-namespace-for-provides.patch | 26 ++++++++
 main/abuild/APKBUILD                               |  9 ++-
 3 files changed, 101 insertions(+), 3 deletions(-)
 create mode 100644 main/abuild/0001-abuild-include-correct-version-number-for-provides.patch
 create mode 100644 main/abuild/0001-abuild-use-so-as-namespace-for-provides.patch

(limited to 'main/abuild')

diff --git a/main/abuild/0001-abuild-include-correct-version-number-for-provides.patch b/main/abuild/0001-abuild-include-correct-version-number-for-provides.patch
new file mode 100644
index 0000000000..49c3d4db84
--- /dev/null
+++ b/main/abuild/0001-abuild-include-correct-version-number-for-provides.patch
@@ -0,0 +1,69 @@
+From 14af6a80cfbf657423334614b37a8f6f688dfe1a Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 5 Sep 2012 12:26:45 +0000
+Subject: [PATCH] abuild: include correct version number for provides
+
+This changes the format of .provides-so file. We now add a column with
+the version number
+---
+ abuild.in | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/abuild.in b/abuild.in
+index ecb7c4d..a9ed449 100755
+--- a/abuild.in
++++ b/abuild.in
+@@ -775,14 +775,22 @@ EOF
+ 
+ prepare_tracedeps() {
+ 	local dir=${subpkgdir:-$pkgdir}
++	local etype= soname= file= sover=
+ 	[ "$arch" = "noarch" ] && return 0
+ 	options_has "!tracedeps" && return 0
+ 	# lets tell all the .so files this package provides in .provides-so
+ 	scanelf --recursive --nobanner --soname "$dir" | while read etype soname file; do
+ 		# if soname field is missing, soname will be the filepath
+ 		# we only want shared libs
++		sover=0
+ 		case $soname in
+-		*.so|*.so.[0-9]*) echo ${soname##*/};;
++		*.so|*.so.[0-9]*)
++			soname=${soname##*/}
++			case "$file" in
++			*.so.[0-9]*) sover=${file##*.so.};;
++			esac
++			echo "$soname $sover"
++			;;
+ 		esac
+ 	done >"$controldir"/.provides-so
+ 	# lets tell all the places we should look for .so files - all rpaths
+@@ -794,7 +802,7 @@ prepare_tracedeps() {
+ 		| sed 's:,:\n:g' | sort | uniq \
+ 	| while read i; do
+ 		# only add files that are not self provided
+-		grep "^$i$" "$controldir"/.provides-so >/dev/null \
++		grep -q -w "^$i" "$controldir"/.provides-so \
+ 			|| echo $i >> "$controldir"/.needs-so
+ 	done
+ }
+@@ -888,7 +896,7 @@ trace_apk_deps() {
+ 		found=
+ 		# first check if its provide by same apkbuild
+ 		for j in "$dir"/../.control.*/.provides-so; do
+-			grep -w "$i" "$j" >/dev/null || continue
++			grep -q -w "^$i" "$j" || continue
+ 			found=${j%/.provides-so}
+ 			found=${found##*/.control.}
+ 			break
+@@ -921,7 +929,7 @@ trace_apk_deps() {
+ 
+ 	echo "# automatically detected:" >> "$dir"/.PKGINFO
+ 	if [ -f "$dir"/.provides-so ]; then
+-		sed 's/^\(.*\)/provides = so:\1=0/' "$dir"/.provides-so \
++		sed 's/^\(.*\) \([0-9].*\)/provides = so:\1=\2/' "$dir"/.provides-so \
+ 			>> "$dir"/.PKGINFO
+ 	fi
+ 	[ -z "$autodeps" ] && return 0
+-- 
+1.7.12
+
diff --git a/main/abuild/0001-abuild-use-so-as-namespace-for-provides.patch b/main/abuild/0001-abuild-use-so-as-namespace-for-provides.patch
new file mode 100644
index 0000000000..5b6b1de954
--- /dev/null
+++ b/main/abuild/0001-abuild-use-so-as-namespace-for-provides.patch
@@ -0,0 +1,26 @@
+From a5cc84e229a40d725c1d53d1b0924a9ef9a615e0 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 5 Sep 2012 11:09:57 +0000
+Subject: [PATCH] abuild: use 'so:' as 'namespace' for provides
+
+---
+ abuild.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/abuild.in b/abuild.in
+index f4d724c..ecb7c4d 100755
+--- a/abuild.in
++++ b/abuild.in
+@@ -921,7 +921,8 @@ trace_apk_deps() {
+ 
+ 	echo "# automatically detected:" >> "$dir"/.PKGINFO
+ 	if [ -f "$dir"/.provides-so ]; then
+-		sed 's/^\(.*\)/provides = \1=0/' "$dir"/.provides-so >> "$dir"/.PKGINFO
++		sed 's/^\(.*\)/provides = so:\1=0/' "$dir"/.provides-so \
++			>> "$dir"/.PKGINFO
+ 	fi
+ 	[ -z "$autodeps" ] && return 0
+ 	for i in $autodeps; do
+-- 
+1.7.12
+
diff --git a/main/abuild/APKBUILD b/main/abuild/APKBUILD
index 7ea7adf2e8..bb16bc9aed 100644
--- a/main/abuild/APKBUILD
+++ b/main/abuild/APKBUILD
@@ -2,14 +2,15 @@
 pkgdesc="Script to build Alpine Packages"
 pkgname=abuild
 pkgver=2.12.1
-pkgrel=3
+pkgrel=4
 url=http://git.alpinelinux.org/cgit/abuild/
 source="http://git.alpinelinux.org/cgit/abuild/snapshot/abuild-$pkgver.tar.bz2
 	0001-abuild-add-support-for-uncompressed-tar-archives.patch
 	0001-abuild-use-scanelf-soname-to-find-the-provides-so.patch
 	0002-abuild-add-provides-information.patch
 	0001-abuild-add-version-number-to-provides.patch
-
+	0001-abuild-use-so-as-namespace-for-provides.patch
+	0001-abuild-include-correct-version-number-for-provides.patch
 	"
 depends="fakeroot file sudo pax-utils openssl apk-tools>=2.0.7-r1 uclibc-utils
 	abuildhelper curl"
@@ -56,4 +57,6 @@ md5sums="92348750a3354c3ec7b811716543b8e5  abuild-2.12.1.tar.bz2
 b04eb6325bf8014ea9fc974344f71a82  0001-abuild-add-support-for-uncompressed-tar-archives.patch
 8ba51a92d24d9e54bfdd1133bc2f0f8d  0001-abuild-use-scanelf-soname-to-find-the-provides-so.patch
 454e0c6a8a3ee97ec4b00874203f700c  0002-abuild-add-provides-information.patch
-e8e910f86ed1892bd46facb88164a27b  0001-abuild-add-version-number-to-provides.patch"
+e8e910f86ed1892bd46facb88164a27b  0001-abuild-add-version-number-to-provides.patch
+1b3e30efede1bccff3f2686a4355a71d  0001-abuild-use-so-as-namespace-for-provides.patch
+ddeb905afd9a486902f70eea824fcd05  0001-abuild-include-correct-version-number-for-provides.patch"
-- 
cgit v1.2.3