[poky] [PATCH 0/8] RFC: break fetcher src rev deadlock

Koen Kooi koen at dominion.thruhere.net
Wed Jan 5 00:03:46 PST 2011


Op 5 jan 2011, om 03:33 heeft Gary Thomas het volgende geschreven:

> On 01/04/2011 07:30 PM, Yu Ke wrote:
>> On Dec 27, 21:57, Yu Ke wrote:
>>>     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 Richard's 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.
>>> 
>>>     In implementation side, several things are done:
>>>     a) set the revision in FetchData:__init__, so that
>>>        urldata.revision is ready when get_srcrev() need it
>>>     b) init fetch method specific data in Fetch:supports, so that
>>>        Fetch.latest_revision() can be conducted when FetchData:
>>>        __init__ need it to achieve a)
>>>     c) some recpies still use ${SRCREV} in PV, which is not corect
>>>        logically, and will cause error in current implementation.
>>>        so replace the SRCREV with SRCPV for those recpies
>>> 
>>> 	in test side, some basic tests are conducted:
>>>     - fetch the source of world packages from scratch (empty DL_DIR)
>>>     - bitbake poky-image-sato for qemux86 from sratch (empty DL_DIR)
>>> 
>>>      more testing is ongoing, this RFC is just for early patch review
>>>      and comments are warmly welcome.
>> 
>> The following tests are done, all passed:
>> 
>> - fetch source for world with DISTRO = "poky-bleeding", all passed except
>>   two broken recpies whose SRC_URI are obsolate, two bugs 623,624 are
>>   filed for this.
>> - bitbake poky-image-sdk for qemux86 with empty DL_DIR
>> - bitbake poky-image-sdk for qemuppc with empty DL_DIR
>> - bitbake poky-image-sdk for qemumips with empty DL_DIR
> 
> Does this address the problem I reported recently with PREMIRRORS not
> working when pointed to a local (file:///) repository?   See the
> discussion starting 2010-12-22 14:51 GMT with subject 'Write-protect $DL_DIR'


From what I can see, PREMIRRORS don't work *at all*


More information about the poky mailing list