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>