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 \ | while read -r _lib; do if ! _pkg=$( pacman -Qqo "/usr/lib/${_lib}" 2>/dev/null ); then printf '%s\n' "${_lib}" continue fi if pacman -Qi "${_pkg}" \ | sed ' :a $! N s/\n\s\+/ / ta P D ' \ | sed -n ' s/^Provides\s*:\s*// T y/ /\n/ p ' \ | sed -n ' /^$/d s/=.*$// T /\.so$/p ' \ | grep -qxF "${_lib}"; then printf '%s\n' "${_lib}" else printf '%s\n' "${_pkg}" fi done \ | sed 's/[<>]\?=.*$//' \ | sort -u ) <( printf '%s\n' "${_pinned_dependencies[@]}" \ | sed 's/=.*$//' \ | sort -u ) ); then printf 'There are discrepancies between the _pinned_dependencies and the linked libraries in %s'"'"'s %s:\n' \ "${pkgbase:-${pkgname}}" \ "${FUNCNAME[0]}" printf '%s\n' "${_errors}" \ | sed ' s/^/claimed / t d ' \ | sort -k1,1 return 1 fi depends+=( $( printf '%s\n' "${_pinned_dependencies[@]}" \ | if [ "${CARCH}" != 'x86_64' ]; then sed ' /\.so=/ { s/-64$/-32/ } ' else cat fi ) ) fi