summaryrefslogtreecommitdiff
path: root/mk/bsd.pkg.barrier.mk
diff options
context:
space:
mode:
authorjoerg <joerg>2009-05-16 01:27:30 +0000
committerjoerg <joerg>2009-05-16 01:27:30 +0000
commite161ea6c984ccdb654e159436099ce9662d61bff (patch)
tree4235f2018246d64368d50782dbcac465912852bc /mk/bsd.pkg.barrier.mk
parentdbea55f3ff43a0d6070c0baafaaad7658152b1b6 (diff)
downloadpkgsrc-e161ea6c984ccdb654e159436099ce9662d61bff.tar.gz
Don't require pkg_delete or pkg_info -r to list packages in full
topological sort for the make update list. This breaks naturally when new dependencies are introduced that are also in the list scheduled for later installation. Reported by David Holland.
Diffstat (limited to 'mk/bsd.pkg.barrier.mk')
-rw-r--r--mk/bsd.pkg.barrier.mk9
1 files changed, 7 insertions, 2 deletions
diff --git a/mk/bsd.pkg.barrier.mk b/mk/bsd.pkg.barrier.mk
index 8347af807f2..dcc41b69115 100644
--- a/mk/bsd.pkg.barrier.mk
+++ b/mk/bsd.pkg.barrier.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.barrier.mk,v 1.16 2008/02/07 21:36:13 rillig Exp $
+# $NetBSD: bsd.pkg.barrier.mk,v 1.17 2009/05/16 01:27:30 joerg Exp $
_COOKIE.barrier= ${WRKDIR}/.barrier_cookie
@@ -64,13 +64,18 @@ barrier: ${_BARRIER_PRE_TARGETS} ${_COOKIE.barrier}
@${PHASE_MSG} "Invoking \`\`"${_BARRIER_CMDLINE_TARGETS:Q}"'' after barrier for ${PKGNAME}"
. endif
${RUN} \
+ if ${TEST} -n "${_PKGSRC_UPDATE_CHECK}" && \
+ ${PKG_INFO} -qe ${PKGNAME}; then \
+ ${PHASE_MSG} "Skipping installation of already handled package"; \
+ else \
cd ${.CURDIR} \
&& ${RECURSIVE_MAKE} ${MAKEFLAGS} _PKGSRC_BARRIER=yes ALLOW_VULNERABLE_PACKAGES= ${_BARRIER_CMDLINE_TARGETS} \
|| { \
exitcode="$$?"; \
${RECURSIVE_MAKE} ${MAKEFLAGS} _PKGSRC_BARRIER=yes barrier-error-check; \
exit "$$exitcode"; \
- }
+ }; \
+ fi
. if defined(PKG_VERBOSE)
@${PHASE_MSG} "Leaving \`\`"${_BARRIER_CMDLINE_TARGETS:Q}"'' after barrier for ${PKGNAME}"
. endif