summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2020-06-04 14:13:33 +0200
committerErich Eckner <git@eckner.net>2020-06-04 14:13:33 +0200
commit0f71188c1705df69ea03eb61cd6138205adb3725 (patch)
treec336b23a7aff9aa14cc927462208e69d29be1b19
parentf4eaa7c4725923c282d5cc9cd27b145855b44d10 (diff)
downloadarchlinuxewe.git.save-0f71188c1705df69ea03eb61cd6138205adb3725.tar.xz
pin-dependencies.PKGBUILDpatch: do not complain about supposedly-missing library dependencies if the package itself provides them
-rw-r--r--pin-dependencies.PKGBUILDpatch24
1 files changed, 16 insertions, 8 deletions
diff --git a/pin-dependencies.PKGBUILDpatch b/pin-dependencies.PKGBUILDpatch
index f0e5ee8f..48c8aef9 100644
--- a/pin-dependencies.PKGBUILDpatch
+++ b/pin-dependencies.PKGBUILDpatch
@@ -1,13 +1,21 @@
if printf '%s\n' "${arch[@]}" | grep -qvxF any; then
if ! _errors=$(
diff <(
- find "${pkgdir}" -type f -exec objdump -x {} \; 2>/dev/null \
- | sed '
- s/^\s*NEEDED\s\+\(\S\+\)\s*$/\1/
- t
- d
- ' \
- | sort -u \
+ {
+ find "${pkgdir}" -type f -exec objdump -x {} \; 2>/dev/null \
+ | sed '
+ s/^\s*NEEDED\s\+\(\S\+\)\s*$/\1/
+ t
+ d
+ ' \
+ | sort -u
+ for _libdir in "${pkgdir}/usr"/lib*; do
+ [ -d "${_libdir}" ] || continue
+ find "${_libdir}" -type f -printf '%f\n%f\n'
+ done
+ } \
+ | sort \
+ | uniq -u \
| while read -r _lib; do
if ! _pkg=$(
pacman -Qqo "/usr/lib/${_lib}" 2>/dev/null
@@ -50,7 +58,7 @@ if printf '%s\n' "${arch[@]}" | grep -qvxF any; then
| sort -u
)
); then
- printf 'There are discrepancies between the _pinned_dependencies and the linked libraries in %s'"'"'s %s:\n' \
+ printf 'There are discrepancies between the _pinned_dependencies and the linked libraries in %s'"'"'s %s():\n' \
"${pkgbase:-${pkgname}}" \
"${FUNCNAME[1]}"
printf '%s\n' "${_errors}" \