socsvn commit: r238101 - soc2012/scher/par_ports/head/Mk

scher at FreeBSD.org scher at FreeBSD.org
Thu Jun 21 17:48:30 UTC 2012


Author: scher
Date: Thu Jun 21 17:48:28 2012
New Revision: 238101
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=238101

Log:
  [bugfix] $$(${ALL-DEPENDS-LIST}) does not reflect changes,
  that were made my config related targets
  (in case if some option add dependency port, $$(${ALL-DEPENDS-LIST})
  does not show this new ped port).
  It is necessary to call $$(make all-depends-list) to get actual deps list,
  after evaluating config-conditional target.
  
  [bugfix] if some dependency port(A), while processing config related targets,
  add new dependecy(Z) then parent port(P) does not reflect this change and
  will not config this new dependency(Z).
  It is important to config ALL dependency ports before actual parallel
  build of main port(P).
  It is necessary to call "${MAKE} locking-config-recursive" recursively
  for each of the dependecy ports of main port(P) after this port(P)
  has already been configured.
  
  Above mentioned issues allow us to implement processing of interactive
  stages for some port and all dependency ports before parallel execution flow,
  reflecting all dynamic changes (based on options processing) in port's dependency tree.
  

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 21 16:53:52 2012	(r238100)
+++ soc2012/scher/par_ports/head/Mk/bsd.parallel.mk	Thu Jun 21 17:48:28 2012	(r238101)
@@ -182,7 +182,7 @@
 		[ $${pid} -eq ${.MAKE.PID} ] && exit 0; \
 		ps -p $${pid} > /dev/null && status=$$? || status=$$?; \
 		if [ $${status} -eq 0 ]; then \
-			if [ ${_lock_dir} = "LOCK_DIR" ]; then \
+			if [ ${_lock_dir} = "LOCK_DIR" ] || [ ${_lock_dir} = "PORT_DBDIR" ]; then \
 				cur_pid=${.MAKE.PID}; \
 				while true; do \
 					ppid=$$( ps -o ppid -p $${cur_pid} | ${AWK} "NR==2" ); \
@@ -362,15 +362,16 @@
 
 # End of Locking variables and tools section
 #####################################################
+
 locking-config-recursive: locking-config-message lock-port-dbdir config-conditional config-recursive unlock-port-dbdir
 
 locking-config-message:
 	@${ECHO_MSG} "===> Setting user-specified options for ${PKGNAME} and dependencies";
 
 config-recursive:
-	@for dir in $$(${ALL-DEPENDS-LIST}); do \
+	@for dir in $$(${MAKE} all-depends-list); do \
 		while true; do \
-			( cd $$dir; ${MAKE} config-conditional ) || { \
+			( cd $$dir; ${MAKE} locking-config-recursive ) || { \
 				status=$$?; \
 				if [ $${status} -eq ${_parv_MAKE_LOCK_EXIT_STATUS} ]; then \
 					sleep ${_parv_LOCK_ATTEMPT_TIMEOUT}; \


More information about the svn-soc-all mailing list