summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorreed <reed@pkgsrc.org>2010-05-03 16:46:36 +0000
committerreed <reed@pkgsrc.org>2010-05-03 16:46:36 +0000
commite09a9924e88caab1d1644dc8d2f34c857823fde8 (patch)
treef031198b71958e30b320cffc269e222a45a8b0bf
parent807276285f29362e23f1129203e8da6653ee37cd (diff)
downloadpkgsrc-e09a9924e88caab1d1644dc8d2f34c857823fde8.tar.gz
From Aleksey Cheusov
http://mail-index.netbsd.org/tech-pkg/2010/03/05/msg005088.html http://mail-index.netbsd.org/tech-pkg/2010/03/05/msg005090.html This fixes problem where some packages didn't list correct REQUIRES or PROVIDES. Symlinks are removed from PROVIDES. Libraries provided by same package are removed from REQUIRES. Also see pkg PR #42907
-rw-r--r--mk/flavor/pkg/metadata.mk10
1 files changed, 7 insertions, 3 deletions
diff --git a/mk/flavor/pkg/metadata.mk b/mk/flavor/pkg/metadata.mk
index 3849f875aec..7d83de8697c 100644
--- a/mk/flavor/pkg/metadata.mk
+++ b/mk/flavor/pkg/metadata.mk
@@ -1,4 +1,4 @@
-# $NetBSD: metadata.mk,v 1.33 2010/02/19 19:11:08 joerg Exp $
+# $NetBSD: metadata.mk,v 1.34 2010/05/03 16:46:36 reed Exp $
######################################################################
### The targets below are all PRIVATE.
@@ -64,11 +64,11 @@ ${_BUILD_INFO_FILE}: plist
bins=`${AWK} '/(^|\/)(bin|sbin|libexec)\// { print "${DESTDIR}${PREFIX}/" $$0 } END { exit 0 }' ${_PLIST_NOKEYWORDS}`; \
case ${OBJECT_FMT:Q}"" in \
ELF) \
- libs=`${AWK} '/(^|\/)lib\/lib.*\.so\.[0-9]+$$/ { print "${DESTDIR}${PREFIX}/" $$0 } END { exit 0 }' ${_PLIST_NOKEYWORDS}`; \
+ libs=`${AWK} '/(^|\/)lib\/lib.*\.so(\.[0-9]+)?$$/ { print "${DESTDIR}${PREFIX}/" $$0 } END { exit 0 }' ${_PLIST_NOKEYWORDS}`; \
if ${TEST} -n "$$bins" -o -n "$$libs"; then \
requires=`($$ldd $$bins $$libs 2>/dev/null || ${TRUE}) | ${AWK} '$$2 == "=>" && $$3 ~ "/" { print $$3 }' | ${SORT} -u`; \
fi; \
- linklibs=`${AWK} '/.*\.so\.[0-9\.]+$$/ { print "${DESTDIR}${PREFIX}/" $$0 }' ${_PLIST_NOKEYWORDS}`; \
+ linklibs=`${AWK} '/.*\.so(\.[0-9]+)?$$/ { print "${DESTDIR}${PREFIX}/" $$0 }' ${_PLIST_NOKEYWORDS}`; \
for i in $$linklibs; do \
if ${TEST} -r $$i -a ! -x $$i -a ! -h $$i; then \
${TEST} ${PKG_DEVELOPER:Uno:Q}"" = "no" || \
@@ -84,8 +84,12 @@ ${_BUILD_INFO_FILE}: plist
fi; \
;; \
esac; \
+ requires=`{ for i in $$requires $$requires; do echo $$i; done; \
+ ${AWK} '{ print "${PREFIX}/" $$0 }' ${_PLIST_NOKEYWORDS}; } | \
+ ${SORT} | uniq -c | awk '$$1 == 2 {print $$2}'`; \
for i in "" $$libs; do \
${TEST} "$$i" != "" || continue; \
+ ${TEST} -h "$$i" && echo "$$i" | grep '[.]so$$' > /dev/null && continue; \
${ECHO} "PROVIDES=$${i}"; \
done | ${SED} -e 's,^PROVIDES=${DESTDIR},PROVIDES=,' \
>> ${.TARGET}.tmp; \