if printf '%s\n' "${arch[@]}" | grep -qvxF any; then if [ -d "${pkgdir}/usr/lib" ]; then provides=( $( { 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 fi