From 7f3683f1ed25e986986c070f1bd7d505fa26b432 Mon Sep 17 00:00:00 2001
From: tv <tv@pkgsrc.org>
Date: Wed, 13 Oct 2004 17:52:46 +0000
Subject: For the ELF form, make sure shlibs are installed +x.  If not, issue a
 warning, fix it, and move along.

---
 mk/bsd.pkg.mk | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

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}`; \
-- 
cgit v1.2.3