From owner-svn-soc-all@FreeBSD.ORG Wed May 30 22:06:17 2012 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from socsvn.FreeBSD.org (unknown [IPv6:2001:4f8:fff6::2f]) by hub.freebsd.org (Postfix) with SMTP id 93CE01065670 for ; Wed, 30 May 2012 22:06:15 +0000 (UTC) (envelope-from scher@FreeBSD.org) Received: by socsvn.FreeBSD.org (sSMTP sendmail emulation); Wed, 30 May 2012 22:06:15 +0000 Date: Wed, 30 May 2012 22:06:15 +0000 From: scher@FreeBSD.org To: svn-soc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <20120530220615.93CE01065670@hub.freebsd.org> Cc: Subject: socsvn commit: r236771 - soc2012/scher/par_ports/head/Mk X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 May 2012 22:06:17 -0000 Author: scher Date: Wed May 30 22:06:15 2012 New Revision: 236771 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=236771 Log: [new_feature] bsd.parallel.mk: new target for checking conflicts with currently installing ports bsd.port.mk: new checking conflicts target is integrated Modified: soc2012/scher/par_ports/head/Mk/bsd.parallel.mk soc2012/scher/par_ports/head/Mk/bsd.port.mk Modified: soc2012/scher/par_ports/head/Mk/bsd.parallel.mk ============================================================================== --- soc2012/scher/par_ports/head/Mk/bsd.parallel.mk Wed May 30 21:28:37 2012 (r236770) +++ soc2012/scher/par_ports/head/Mk/bsd.parallel.mk Wed May 30 22:06:15 2012 (r236771) @@ -261,6 +261,34 @@ check-lock: @( pkg_name=${PKGNAME}; ${_parv_CHECK_LOCK} ) || { ${_parv_ON_LOCK_EXIT_SEQ}; } +check-active-build-conflicts: +.if ( defined(CONFLICTS) || defined(CONFLICTS_BUILD) || defined(CONFLICTS_INSTALL)) && !defined(DISABLE_CONFLICTS) + @conflicts_with=; \ + active_builds=$$(cd ${LOCK_DIR}; ${LS} -dA ${CONFLICTS} ${CONFLICTS_BUILD} ${CONFLICTS_INSTALL} 2> /dev/null || ); \ + for entry in $${active_builds}; do \ + ( pkg_name=$${entry}; ${_parv_CHECK_LOCK} ) || { \ + status=$$?; \ + if [ $${status} -eq ${_parv_ON_LOCK_EXIT_STATUS} ]; then \ + conflicts_with="$${conflicts_with} $${entry}"; \ + else \ + exit 1; \ + fi; \ + }; \ + done; \ + if [ -n "$${conflicts_with}" ]; then \ + ${_dparv_START_OUTPUT}; \ + ${ECHO_MSG}; \ + ${ECHO_MSG} "===> ${PKGNAME} conflicts with currently installing package(s): "; \ + for entry in $${conflicts_with}; do \ + ${ECHO_MSG} " $${entry}"; \ + done; \ + ${ECHO_MSG}; \ + ${ECHO_MSG} " Please remove them first with pkg_delete(1)."; \ + ${_dparv_END_OUTPUT}; \ + exit 1; \ + fi +.endif + lock-pkg-dbdir: @attempts=-1; ${_parv_PKG_DBDIR_LOCK_LOOP} Modified: soc2012/scher/par_ports/head/Mk/bsd.port.mk ============================================================================== --- soc2012/scher/par_ports/head/Mk/bsd.port.mk Wed May 30 21:28:37 2012 (r236770) +++ soc2012/scher/par_ports/head/Mk/bsd.port.mk Wed May 30 22:06:15 2012 (r236771) @@ -1137,6 +1137,20 @@ .include "${PORTSDIR}/Mk/bsd.parallel.mk" .endif +.if !target(lock-pkg-dbdir) +lock-pkg-dbdir: + @{DO_NADA} +.endif + +.if !target(unlock-pkg-dbdir) +unlock-pkg-dbdir: + @{DO_NADA} +.endif + +.if !target(check-active-build-conflicts) +check-active-build-conflicts: + @{DO_NADA} +.endif ############### ENDF OF PAR_PORTS SPECIFIC COMMENT LINE ############### # @@ -3807,7 +3821,7 @@ # Check conflicts .if !target(check-conflicts) -check-conflicts: check-build-conflicts check-install-conflicts +check-conflicts: check-active-build-conflicts check-build-conflicts check-install-conflicts .endif .if !target(check-build-conflicts) @@ -4324,7 +4338,7 @@ .endif _SANITY_SEQ= ${_CHROOT_SEQ} pre-everything check-makefile \ check-categories check-makevars check-desktop-entries \ - check-depends identify-install-conflicts check-deprecated \ + check-depends check-active-build-conflicts identify-install-conflicts check-deprecated \ check-vulnerable check-license buildanyway-message \ options-message