diff options
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.patch | 32 |
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 + |