summaryrefslogtreecommitdiffstats
path: root/main/abuild/0001-abuild-use-scanelf-soname-to-find-the-provides-so.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/abuild/0001-abuild-use-scanelf-soname-to-find-the-provides-so.patch')
-rw-r--r--main/abuild/0001-abuild-use-scanelf-soname-to-find-the-provides-so.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/main/abuild/0001-abuild-use-scanelf-soname-to-find-the-provides-so.patch b/main/abuild/0001-abuild-use-scanelf-soname-to-find-the-provides-so.patch
new file mode 100644
index 000000000..8fe9ce296
--- /dev/null
+++ b/main/abuild/0001-abuild-use-scanelf-soname-to-find-the-provides-so.patch
@@ -0,0 +1,32 @@
+From 87953c711587b932fb8e9f95798a0907faaaecf6 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Tue, 4 Sep 2012 12:30:08 +0000
+Subject: [PATCH 1/2] abuild: use scanelf --soname to find the provides-so
+
+---
+ abuild.in | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/abuild.in b/abuild.in
+index 32dd153..3acec46 100755
+--- a/abuild.in
++++ b/abuild.in
+@@ -778,8 +778,13 @@ prepare_tracedeps() {
+ [ "$arch" = "noarch" ] && return 0
+ options_has "!tracedeps" && return 0
+ # lets tell all the .so files this package provides in .provides-so
+- find -name '*.so' -o -name '*.so.[0-9]*' | sed 's:.*/::' \
+- >"$controldir"/.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
++ case $soname in
++ *.so|*.so.[0-9]*) echo ${soname##*/};;
++ esac
++ done >"$controldir"/.provides-so
+ # lets tell all the places we should look for .so files - all rpaths
+ scanelf -q -Rr "$dir" | sed -e 's/[[:space:]].*//' -e 's/:/\n/' \
+ | sort | uniq \
+--
+1.7.12
+