From 5a3413483f64669e16653ffdf047f5840ffde39c Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 4 Jun 2020 16:54:13 +0200 Subject: advertise-provided-libraries.PKGBUILDpatch: avoid duplicate provides --- advertise-provided-libraries.PKGBUILDpatch | 32 +++++++++++++++++------------- 1 file changed, 18 insertions(+), 14 deletions(-) (limited to 'advertise-provided-libraries.PKGBUILDpatch') diff --git a/advertise-provided-libraries.PKGBUILDpatch b/advertise-provided-libraries.PKGBUILDpatch index 97bc59f4..300516f9 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 -- cgit v1.2.3-54-g00ecf