Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Jun 2012 19:06:16 +0000
From:      scher@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r238493 - soc2012/scher/par_ports/head/Mk
Message-ID:  <20120628190616.82D7B1065673@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: scher
Date: Thu Jun 28 19:06:16 2012
New Revision: 238493
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=238493

Log:
  [bugfix] XXX_DEPENDS patterns are "path:dir[:target]" but
  	${_parv_PRINT_ACTIVE_BUILDS} ${_PROCESS_ACTIVE_BUILDS}
  	${_parv_CHECK_ALL_DEPS_LOCKED} did not consider "[:target] part.
  	Now this scripts consider this part of pattern.
  

Modified:
  soc2012/scher/par_ports/head/Mk/bsd.parallel.mk

Modified: soc2012/scher/par_ports/head/Mk/bsd.parallel.mk
==============================================================================
--- soc2012/scher/par_ports/head/Mk/bsd.parallel.mk	Thu Jun 28 18:52:40 2012	(r238492)
+++ soc2012/scher/par_ports/head/Mk/bsd.parallel.mk	Thu Jun 28 19:06:16 2012	(r238493)
@@ -399,7 +399,10 @@
 _parv_PRINT_ACTIVE_BUILDS= \
 	${ECHO_CMD} "     Currently building dependency ports are"; \
 	for build in $$( ${ECHO_CMD} "$${active_builds}" ); do \
-		dir=$${build\#\#*:}; \
+		dep=$${build\#*:}; \
+		dir=$${dep\#*:}; \
+		target=$${dep\#\#*:}; \
+		[ $$dir != $$target ] && dir=$${dir%%:*}; \
 		${ECHO_CMD} "         $$(cd $${dir}; ${MAKE} -V PKGNAME)"; \
 	done
 
@@ -418,6 +421,9 @@
 			pid=$${build%%:*}; \
 			dep=$${build\#*:}; \
 			ps -p $${pid} > /dev/null || { \
+				dir=$${dep\#*:}; \
+				target=$${dep\#\#*:}; \
+				[ $$dir != $$target ] && dir=$${dir%%:*}; \
 				wait $${pid} && status=$$? || status=$$?; \
 				if [ $${status} -eq 0 ]; then \
 					active_builds="$${active_builds%%$${build}*} $${active_builds\#\#*$${build}}"; \
@@ -431,18 +437,18 @@
 							${FALSE}; \
 						fi; \
 					fi; \
-					${ECHO_CMD} "=====> $$(cd $${build\#\#*:}; ${MAKE} -V PKGNAME) is installed"; \
+					${ECHO_CMD} "=====> $$(cd $${dir}; ${MAKE} -V PKGNAME) is installed"; \
 				elif [ $${status} -eq ${_parv_MAKE_LOCK_EXIT_STATUS} ]; then \
-					${ECHO_CMD} "===> $$(cd $${build\#\#*:}; ${MAKE} -V PKGNAME) is locked. Unable to start build."; \
+					${ECHO_CMD} "===> $$(cd $${dir}; ${MAKE} -V PKGNAME) is locked. Unable to start build."; \
 					active_builds="$${active_builds%%$${build}*} $${active_builds\#\#*$${build}}"; \
 					active_builds=$$( echo "$${active_builds}" | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$$//' ); \
 					builds_num=$$(( $${builds_num} - 1 )); \
 					depends="$${depends} $${dep}"; \
 					depends=$$( echo "$${depends}" | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$$//' ); \
 				else \
-					${ECHO_CMD} "Errors occured while building a dependency port $$(cd $${build\#\#*:}; ${MAKE} -V PKGNAME)"; \
+					${ECHO_CMD} "Errors occured while building a dependency port $$(cd $${dir}; ${MAKE} -V PKGNAME"; \
 					${ECHO_CMD} "Checkout its log"; \
-					${ECHO_CMD} "    $$(dir=$${build\#\#*:}; ${ECHO_CMD} ${_parv_PORTS_LOGS_DIR}/${_parv_PORT_LOG_FILE})"; \
+					${ECHO_CMD} "    ${_parv_PORTS_LOGS_DIR}/${_parv_PORT_LOG_FILE})"; \
 					${ECHO_CMD} "Terminating..."; \
 					exit 1; \
 				fi; \
@@ -472,6 +478,8 @@
 		while true; do \
 			for dep in $${depends}; do \
 				dir=$${dep\#*:}; \
+				target=$${dep\#\#*:}; \
+				[ $$dir != $$target ] && dir=$${dir%%:*}; \
 				{ (cd $${dir}; ${MAKE} check-lock > /dev/null 2> /dev/null & wait $$! ) \
 					&& break 2 || continue; }; \
 			done; \



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120628190616.82D7B1065673>