From 87953c711587b932fb8e9f95798a0907faaaecf6 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Tue, 4 Sep 2012 12:30:08 +0000 Subject: abuild: use scanelf --soname to find the provides-so --- abuild.in | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'abuild.in') 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 \ -- cgit v1.2.3-60-g2f50