diff options
author | tv <tv> | 2004-10-13 17:52:46 +0000 |
---|---|---|
committer | tv <tv> | 2004-10-13 17:52:46 +0000 |
commit | 06b9093a5cf98f8b16acce7ab03e29662e861ba5 (patch) | |
tree | 278817a0cbf11c193670de1c69c33db050c2740b /mk | |
parent | 8ecb83acea3fa1e5e829c507a8774556aae61265 (diff) | |
download | pkgsrc-06b9093a5cf98f8b16acce7ab03e29662e861ba5.tar.gz |
For the ELF form, make sure shlibs are installed +x. If not, issue a
warning, fix it, and move along.
Diffstat (limited to 'mk')
-rw-r--r-- | mk/bsd.pkg.mk | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk index e97ec1e5b6e..d0c067a2661 100644 --- a/mk/bsd.pkg.mk +++ b/mk/bsd.pkg.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkg.mk,v 1.1517 2004/10/13 15:31:31 tv Exp $ +# $NetBSD: bsd.pkg.mk,v 1.1518 2004/10/13 17:52:46 tv Exp $ # # This file is in the public domain. # @@ -4671,6 +4671,13 @@ fake-pkg: ${PLIST} ${DESCR} ${MESSAGE} if ${TEST} "$$bins" != "" -o "$$libs" != ""; then \ requires=`($$ldd $$bins $$libs 2>/dev/null || ${TRUE}) | ${AWK} 'NF == 3 { print $$3 }' | ${SORT} -u`; \ fi; \ + linklibs=`${SETENV} PREFIX=${PREFIX} ${AWK} '/^[^@].*\.so$$/ { print ENVIRON["PREFIX"] "/" $$0 }' ${PLIST} || ${TRUE}`; \ + for i in $${linklibs}; do \ + if ${TEST} -r $$i -a ! -x $$i; then \ + ${ECHO} "$$i: installed without execute permission; fixing (should use [BSD_]INSTALL_LIB)"; \ + ${CHMOD} +x $$i; \ + fi; \ + done; \ ;; \ Mach-O) bins=`${SETENV} PREFIX=${PREFIX} ${AWK} '/^(bin|sbin|libexec)\// { print ENVIRON["PREFIX"] "/" $$0 }' ${PLIST} || ${TRUE}`; \ libs=`${SETENV} PREFIX=${PREFIX} ${AWK} '/^lib\/lib.*\.dylib/ { print ENVIRON["PREFIX"] "/" $$0 }' ${PLIST} || ${TRUE}`; \ |