diff options
-rw-r--r-- | advertise-provided-libraries.PKGBUILDpatch | 32 |
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 |