[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