From owner-svn-soc-all@FreeBSD.ORG Wed Jun 27 12:39:21 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 14AD81065687 for ; Wed, 27 Jun 2012 12:39:19 +0000 (UTC) (envelope-from scher@FreeBSD.org) Received: by socsvn.FreeBSD.org (sSMTP sendmail emulation); Wed, 27 Jun 2012 12:39:19 +0000 Date: Wed, 27 Jun 2012 12:39:19 +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: <20120627123919.14AD81065687@hub.freebsd.org> Cc: Subject: socsvn commit: r238393 - 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, 27 Jun 2012 12:39:21 -0000 Author: scher Date: Wed Jun 27 12:39:17 2012 New Revision: 238393 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=238393 Log: [new_feature] license checking for port's dependencies If any dependencies need to ask for comfirmation then port's build stops, and user is listed all ports that will ask for licences checking. Then a user will have to eval "make patch" for the above mentioned ports. Only if no dependencies require license confirmation parallel ports build will be allowed. 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 Jun 27 11:59:57 2012 (r238392) +++ soc2012/scher/par_ports/head/Mk/bsd.parallel.mk Wed Jun 27 12:39:17 2012 (r238393) @@ -484,6 +484,34 @@ # Parallel targets section # TODO: outline intergation with bsd.port.mk # +check-license-depends: check-license-message + @license_to_ask=""; \ + dirs_to_process=""; \ + for dir in $$(${ALL-DEPENDS-LIST}); do \ + license_status=$$(cd $${dir}; ${MAKE} -V _LICENSE_STATUS); \ + if [ "$${license_status}" = "ask" ]; then \ + license_to_ask="$${license_to_ask} $$(cd $${dir}; ${MAKE} -V PKGNAME)"; \ + dirs_to_process="$${dirs_to_process} $${dir}"; \ + fi; \ + done; \ + if [ $${license_to_ask} ]; then \ + ${ECHO_CMD} "The following ports will ask for license conformation:"; \ + for port in $${license_to_ask}; do \ + ${ECHO_CMD} " $${port}"; \ + done; \ + ${ECHO_CMD} "Unable to process in parallel way."; \ + ${ECHO_CMD} "Call:"; \ + ${ECHO_CMD} " make -D_parv_WANT_NON_PARALLEL_BUILD patch"; \ + ${ECHO_CMD} "in the following directories:"; \ + for dir in $${dirs_to_process}; do \ + ${ECHO_CMD} " $${dir}"; \ + done; \ + exit 1; \ + fi + +check-license-message: + @${ECHO_MSG} "===> Checking out licenses for ${PKGNAME} dependencies"; + locking-config-recursive: locking-config-message lock-port-dbdir config-recursive unlock-port-dbdir locking-config-message: Modified: soc2012/scher/par_ports/head/Mk/bsd.port.mk ============================================================================== --- soc2012/scher/par_ports/head/Mk/bsd.port.mk Wed Jun 27 11:59:57 2012 (r238392) +++ soc2012/scher/par_ports/head/Mk/bsd.port.mk Wed Jun 27 12:39:17 2012 (r238393) @@ -1154,6 +1154,11 @@ ############### PAR_PORTS SPECIFIC COMMENT LINE ############### +# TODO: doc needed +.if defined(_parv_WANT_NON_PARALLEL_BUILD) +.undef _parv_WANT_PARALLEL_BUILD +.endif + .if defined(_parv_WANT_PARALLEL_BUILD) .include "${PORTSDIR}/Mk/bsd.parallel.mk" .endif @@ -1195,6 +1200,11 @@ @${DO_NADA} .endif +.if !target(check-license-depends) +check-license-depends: + @${DO_NADA} +.endif + ############### ENDF OF PAR_PORTS SPECIFIC COMMENT LINE ############### # @@ -4348,7 +4358,7 @@ check-categories check-makevars check-desktop-entries \ check-depends check-active-build-conflicts identify-install-conflicts check-deprecated \ check-vulnerable check-license check-config buildanyway-message \ - options-message locking-config-recursive seal + options-message locking-config-recursive check-license-depends _PKG_DEP= check-sanity locking-config-recursive _PKG_SEQ= pkg-depends