[ Week report GSOC ] Parallelization in the ports collection

Alexander Pronin scher at FreeBSD.org
Tue May 29 16:12:33 UTC 2012


-r 236215
Log:
[new_feature] directory locking targets

Two directory locking targets (do-lock, do-unlock) are implemented in
bsd.parallel.mk file.
This targets provide atomic locking/unlocking technique to lock/unlock
a directory specified by ${_parv_DIR_TO_LOCK} variable.
Submitted by:   Alexander Pronin

A	Mk/bsd.parallel.mk

-r 236228
Log:
[new_feature] ${PKG_DBDIR} and ${.CURDIR} specific lock/unlock
[fixed] do-lock do-unlock targets are depricated

It is possible to lock/unlock ${PKG_DBDIR} and ${.CURDIR}
For loop generates directory specific variable:
       _parv_PKG_DBDIR_DO_LOCK - lockf command to lock ${PKG_DBDIR}
       _parv_.CURDIR_DO_LOCK - lockf command to lock ${.CURDIR}
       _parv_PKG_DBDIR_LOCK_SEQ, _parv_.CURDIR_LOCK_SEQ - sequences of
commandes passed to ${SH} lockf command argument.
e.g. lockf .lock_file ${SH} -c '_parv_PKG_DBDIR_LOCK_SEQ'
       _parv_PKG_DBDIR_DO_UNLOCK, _parv_.CURDIR_DO_UNLOCK - lockf command
to unlock directories.

M       Mk/bsd.parallel.mk

-r 236308
Log:
[new_feature] bsd.parallel.mk: default targets evaluation test.
bsd.port.mk: includes bsd.parallel.mk. Enables locking/unlocking ${.CURDIR}
[fixed] bsd.parallel.mk: Changes of LOCK file mod. ps instead of pgrep.
feedBack messages.

bsd.parallel.mk: Is included in bsd.port.mk. Hence PKG_DBDIR is unnecessary.
include <bsd.commands.mk> is unnecessary either.
"ps" command is more appropriate for PID searching.
.lock file mod is changed to 777. To allow open access.
More clear feedback messages.
${_parv_IS_DEFAULT_TARGET} - trigers default targets, specified by
_parv_DEFAULT_TARGETS.

M    bsd.port.mk                               
M    bsd.parallel.mk

-r 236583
Log:
[new_feature] _parv_${_lock_dir}_LOCK_LOOP - main scripts to lock a directory
              _parv_CHECK_LOCK - script to check if $${dir} is locked.
[doc]

Submitted by: Alexander Pronin

M    bsd.parallel.mk
M    bsd.port.mk

-r 236587
Log:
[new_feature] ${PKG_DBDIR} locking for port's registration phase.
        new debugging barrier variable (some king of readln() )
[fixed] WANT_PARALLEL_BUILD variable renamed to _parv_WANT_PARALLEL_BUILD
        to suit parallel specific variables' names.

Submitted by: Alexander Pronin

M    bsd.parallel.mk                        
M    bsd.port.mk

-r 236669
Log:
[fixed] Trigger name changed to suit variable naming _parv_WANT_PARALLEL_BUILD
        kill signal changed to USR1
        make utility exit with 158 status on lock
[new_feature] ${.CURDIR} locking behaviour for dependency build
        ${PKG_DBDIR} locking phases for XXX-depends and lib-depends targets
        Blocking Parallel build/install support for port's dependencies
        in XXX-depends and lib-depends targets
Submitted by: Alexander Pronin

M    bsd.port.mk                                                      
M    bsd.parallel.mk 


More information about the soc-status mailing list