summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortv <tv@pkgsrc.org>2004-10-13 17:52:46 +0000
committertv <tv@pkgsrc.org>2004-10-13 17:52:46 +0000
commit715052a070e4f9f0da9bb6e37cf14103113dfb22 (patch)
tree278817a0cbf11c193670de1c69c33db050c2740b
parent7f5e285fb042b7dfb2051401e63dd0de025b380e (diff)
downloadpkgsrc-715052a070e4f9f0da9bb6e37cf14103113dfb22.tar.gz
For the ELF form, make sure shlibs are installed +x. If not, issue a
warning, fix it, and move along.
-rw-r--r--mk/bsd.pkg.mk9
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}`; \