abuild: use scanelf --soname to find the provides-so
This commit is contained in:
parent
a5f67dcf25
commit
87953c7115
@ -778,8 +778,13 @@ prepare_tracedeps() {
|
|||||||
[ "$arch" = "noarch" ] && return 0
|
[ "$arch" = "noarch" ] && return 0
|
||||||
options_has "!tracedeps" && return 0
|
options_has "!tracedeps" && return 0
|
||||||
# lets tell all the .so files this package provides in .provides-so
|
# lets tell all the .so files this package provides in .provides-so
|
||||||
find -name '*.so' -o -name '*.so.[0-9]*' | sed 's:.*/::' \
|
scanelf --recursive --nobanner --soname "$dir" | while read etype soname file; do
|
||||||
>"$controldir"/.provides-so
|
# 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
|
# lets tell all the places we should look for .so files - all rpaths
|
||||||
scanelf -q -Rr "$dir" | sed -e 's/[[:space:]].*//' -e 's/:/\n/' \
|
scanelf -q -Rr "$dir" | sed -e 's/[[:space:]].*//' -e 's/:/\n/' \
|
||||||
| sort | uniq \
|
| sort | uniq \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user