diff options
Diffstat (limited to 'abuild.in')
-rwxr-xr-x | abuild.in | 24 |
1 files changed, 18 insertions, 6 deletions
@@ -952,17 +952,29 @@ scan_shared_objects() { # lets tell all the .so files this package provides in .provides-so scanelf --nobanner --soname "$@" | 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]*) + if [ -z "$file" ]; then + file="$soname" soname=${soname##*/} - case "$file" in - *.so.[0-9]*) sover=${file##*.so.};; + fi + + # we only want shared libs + case $soname in + *.so|*.so.[0-9]*);; + *) continue;; + esac + + case "$file" in + *.so.[0-9]*) sover=${file##*.so.};; + *.so) + # filter out sonames with version when file does not + # have version + case "$soname" in + *.so.[0-9]*) continue;; esac - echo "$soname $sover" ;; esac + echo "$soname $sover" done > "$controldir"/.provides-so # now find the so dependencies |