summaryrefslogtreecommitdiff
path: root/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
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')
-rw-r--r--mk/bsd.pkg.barrier.mk9
-rw-r--r--mk/bsd.pkg.update.mk3
2 files changed, 9 insertions, 3 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
diff --git a/mk/bsd.pkg.update.mk b/mk/bsd.pkg.update.mk
index e5165a78c99..c9f3e7bbd60 100644
--- a/mk/bsd.pkg.update.mk
+++ b/mk/bsd.pkg.update.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.update.mk,v 1.17 2009/03/07 19:36:31 joerg Exp $
+# $NetBSD: bsd.pkg.update.mk,v 1.18 2009/05/16 01:27:30 joerg Exp $
#
# This Makefile fragment is included by bsd.pkg.mk and contains the targets
# and variables for "make update".
@@ -72,6 +72,7 @@ update:
${RECURSIVE_MAKE} ${MAKEFLAGS} deinstall _UPDATE_RUNNING=YES; \
fi && \
${RECURSIVE_MAKE} ${MAKEFLAGS} ${UPDATE_TARGET} \
+ _PKGSRC_UPDATE_CHECK=yes \
DEPENDS_TARGET=${DEPENDS_TARGET:Q} ; \
else \
${PHASE_MSG} "Skipping removed directory $${dep}"; \