Commit ad777448 authored by Natanael Copa's avatar Natanael Copa

abuild: deal with duplicate provides

- remove duplicate provides with so version 0
- exit with error if there are multiple provides with different versions
parent f640500e
......@@ -992,7 +992,16 @@ scan_shared_objects() {
esac
list_has "$soname" $somask && continue
echo "$soname $sover"
done | sort -u > "$controldir"/.provides-so
# use awk to filter out dupes that has sover = 0
done | awk '{ if (so[$1] == 0) so[$1] = $2; }
END { for (i in so) print(i " " so[i]); }' \
| sort -u > "$controldir"/.provides-so
# verify that we dont have any duplicates
local dupes="$(cut -d' ' -f1 "$controldir"/.provides-so | uniq -d)"
if [ -n "$dupes" ]; then
die "provides multiple versions of same shared object: $dupes"
fi
# now find the so dependencies
scanelf --nobanner --recursive --needed "$datadir" | tr ' ' ':' \
......
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