]> code.ossystems Code Review - openembedded-core.git/commit
Fetcher: break the "SRCREVINACTION" deadlock
authorYu Ke <ke.yu@intel.com>
Mon, 27 Dec 2010 01:31:38 +0000 (09:31 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 10 Jan 2011 20:24:33 +0000 (20:24 +0000)
commit1589a1172f9432aed1cc9ce006f68cddf3073774
tree48616149e847a09c87668f6342b64dce15f4f57f
parent550c3bd82115b4bdb8235da53cfc18b1dc39ad96
Fetcher: break the "SRCREVINACTION" deadlock

Current fetcher has annoying "SRCREVINACTION" deadlock,
which occurs when SRCREV=${AUTOREV}=@bb.fetch.get_srcrev():
get_srcrev()->setup_localpath()->srcrev_internal_helper()
->evaluate SRCREV->get_srcrev()

current fetcher resolve the deadlock by introducing a
"SRCREVINACTION" condition check. Althoguh it works, it is
indeed not clean.

This patch use antoehr idea to break the deadlock: break
the dependency among SRCREV and get_srcrev(), i.e. assign
a specific keyword "AUTOINC" to AUTOREV. when Fetcher meet
this keyword, it will check and set the latest revision to
urldata.revision. get_srcrev later can use the urldata.revision
for value evaluation(SRCPV etc). In this case, SRCREV no longer
depends on get_srcrev, and there is not deadlock anymore.

Signed-off-by: Yu Ke <ke.yu@intel.com>
bitbake/lib/bb/fetch/__init__.py
bitbake/lib/bb/fetch2/__init__.py
bitbake/lib/bb/fetch2/bzr.py
bitbake/lib/bb/fetch2/git.py
bitbake/lib/bb/fetch2/hg.py
bitbake/lib/bb/fetch2/svn.py
meta/conf/bitbake.conf