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
commit15a3a4951c341bb735a67a3976026af9cd2bb26a (patch)
tree4235f2018246d64368d50782dbcac465912852bc /mk/bsd.pkg.barrier.mk
parentc4e4283c247a6ca5096d3fe72442561883b05732 (diff)
downloadpkgsrc-15a3a4951c341bb735a67a3976026af9cd2bb26a.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