summaryrefslogtreecommitdiff
path: root/advertise-provided-libraries.PKGBUILDpatch
diff options
context:
space:
mode:
Diffstat (limited to 'advertise-provided-libraries.PKGBUILDpatch')
-rw-r--r--advertise-provided-libraries.PKGBUILDpatch14
1 files changed, 13 insertions, 1 deletions
diff --git a/advertise-provided-libraries.PKGBUILDpatch b/advertise-provided-libraries.PKGBUILDpatch
index 392c321e..b7d2203a 100644
--- a/advertise-provided-libraries.PKGBUILDpatch
+++ b/advertise-provided-libraries.PKGBUILDpatch
@@ -2,7 +2,19 @@ if printf '%s\n' "${arch[@]}" | grep -qvxF any; then
if [ -d "${pkgdir}/usr/lib" ]; then
provides+=(
$(
- find "${pkgdir}/usr/lib" -name '*.so' -printf '%f\n'
+ find "${pkgdir}/usr/lib" \
+ -name '*.so' -printf '%p\n' \
+ | while read -r lib; do
+ if ! LC_ALL=C readelf -h "$fn" 2>/dev/null | grep -q '.*Type:.*DYN (Shared object file).*'; then
+ # no shared object
+ continue
+ fi
+ if ! LC_ALL=C readelf -d "$fn" 2>/dev/null | grep -q '.*Library soname: \[.*\].*'; then
+ # not versioned
+ continue
+ fi
+ printf '%s\n' "${lib##*/}"
+ done
)
)
fi