summaryrefslogtreecommitdiff
path: root/bin/build-packages
diff options
context:
space:
mode:
Diffstat (limited to 'bin/build-packages')
-rwxr-xr-xbin/build-packages25
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