diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/build-packages | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/bin/build-packages b/bin/build-packages index 501917f..1a73409 100755 --- a/bin/build-packages +++ b/bin/build-packages @@ -444,18 +444,23 @@ while [ "${count}" -ne 0 ]; do find "${tar_content_dir}" -maxdepth 1 \ -name '*.pkg.tar.xz' | \ while read -r pkgfile; do - mkdir "${package_content_dir}/${pkgfile##*/}" - tar -C "${package_content_dir}/${pkgfile##*/}" -xJf "${pkgfile}" 2>/dev/null - find "${package_content_dir}/${pkgfile##*/}" \ - -name 'opt' -prune , \ - -exec objdump -x '{}' \; 2>/dev/null | \ - grep -w 'NEEDED' | \ - awk '{print $2}' | \ - grep -v '\.c32$' | \ + if printf '%s\n' "${pkgfile}" | \ + grep -vq '-any\.pkg\.tar\.xz$'; then + # we do not check "any" packages for linked libraries + # (why do they have them in the first place?) + mkdir "${package_content_dir}/${pkgfile##*/}" + tar -C "${package_content_dir}/${pkgfile##*/}" -xJf "${pkgfile}" 2>/dev/null + find "${package_content_dir}/${pkgfile##*/}" \ + -name 'opt' -prune , \ + -exec objdump -x '{}' \; 2>/dev/null | \ + grep -w 'NEEDED' | \ + awk '{print $2}' | \ + grep -v '\.c32$' + find "${package_content_dir:?}/${pkgfile##*/}" -xdev -exec chmod 777 '{}' \; + rm -rf --one-file-system "${package_content_dir:?}/${pkgfile##*/}" + fi | \ sort -u > \ "${pkgfile}.so.needs" - find "${package_content_dir:?}/${pkgfile##*/}" -xdev -exec chmod 777 {} \; - rm -rf --one-file-system "${package_content_dir:?}/${pkgfile##*/}" done >&2 printf 'running namcap ...' if [ "${repository}" = 'multilib' ]; then |