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