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.PKGBUILDpatch32
1 files changed, 18 insertions, 14 deletions
diff --git a/advertise-provided-libraries.PKGBUILDpatch b/advertise-provided-libraries.PKGBUILDpatch
index 97bc59f46..300516f9e 100644
--- a/advertise-provided-libraries.PKGBUILDpatch
+++ b/advertise-provided-libraries.PKGBUILDpatch
@@ -1,20 +1,24 @@
if printf '%s\n' "${arch[@]}" | grep -qvxF any; then
if [ -d "${pkgdir}/usr/lib" ]; then
- provides+=(
+ provides=(
$(
- find "${pkgdir}/usr/lib" \
- -name '*.so' -printf '%p\n' \
- | while read -r fn; 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' "${fn##*/}"
- done
+ {
+ printf '%s\n' "${provides[@]}"
+ find "${pkgdir}/usr/lib" \
+ -name '*.so' -printf '%p\n' \
+ | while read -r fn; 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' "${fn##*/}"
+ done
+ } \
+ | sort -u
)
)
fi