diff --git a/abuild.in b/abuild.in index e3e749bb8f2b7ac6452636b226157dc58f5e4e71..cd38494ff6a33b4e08b7640afd847b2f516ae9ad 100755 --- a/abuild.in +++ b/abuild.in @@ -990,6 +990,7 @@ scan_shared_objects() { esac ;; esac + list_has "$soname" $somask && continue echo "$soname $sover" done | sort -u > "$controldir"/.provides-so @@ -997,10 +998,11 @@ scan_shared_objects() { scanelf --nobanner --recursive --needed "$datadir" | tr ' ' ':' \ | awk -F ":" '$1 == "ET_DYN" || $1 == "ET_EXEC" {print $2}' \ | sed 's:,:\n:g' | sort -u \ - | while read i; do + | while read soname; do # only add files that are not self provided - grep -q -w "^$i" "$controldir"/.provides-so \ - || echo $i + grep -q -w "^$soname" "$controldir"/.provides-so \ + || list_has "$soname" $somask \ + || echo $soname done > "$controldir"/.needs-so }