Commit c57a9070 authored by Natanael Copa's avatar Natanael Copa

abuild: dont add .so files with mismatching soname version

Skip .so files without version number in filename when soname has
version number.

This solves issue with libgcj/gcc-java who ships both libgcj_bc.so and
libgcj_bc.so.1.0.0 which both has soname libgcj_bc.so.1
parent d15a37b2
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment