[oe] Package build failure

Samuel Stirtzel s.stirtzel at googlemail.com
Thu Apr 5 08:47:05 UTC 2012


2012/4/5 Anders Darander <anders.darander at gmail.com>:
> On Thu, Apr 5, 2012 at 09:57, Samuel Stirtzel <s.stirtzel at googlemail.com> wrote:
>> 2012/4/5 Anders Darander <anders.darander at gmail.com>:
>>> On Thu, Apr 5, 2012 at 09:33, Andrei Gherzan <andrei at gherzan.ro> wrote:
>>>> Or you can specify a tag in  src_uri. Something like SRC_URI =
>>>> "git://bla.git;protocol=git;tag=mytag"
>>>
>>> Yes, you can, but please use SRCREV instead. (And let SRCREV point to
>>> the commit that corresponds to the tagged commmit). If you use tags,
>>> git will try to reach to server to verify the tag, while SRCREV lets
>>> you build completely offline.
>>>
>>> /Anders
>>
>> Yes you are right, this is done because git tags can be moved.
>>
>> Usually I would assume that it only checks the revision while fetching.
>> But currently it seems like "git ls-remote" (the tool that checks the
>> remote revision) is executed at _every_ task of a tagged recipe (and
>> also once while parsing).
>> So if you have 10-20 recipes from the same git server that use tags,
>> building them could generate heavy load on the server.
>>
>> Still wonders me why it has to check for the revision at do_package
>> and fails me if the server is unreachable / busy.
>> (git-ls-remote unable to look up anongit.kde.org/...)
>>
>>
>> Was looking for this "issue" in the fetcher/git code, but I couldn't
>> find it at the first look..
>
> Not solving your "issue"... But anyway, git doesn't really know
> whether the tag is a fixed tag or a potentially moving branch, thus it
> needs to check the server to find the actual git id. Then the git id
> is often used in PV, just like the svn revision was in the opkg case
> (PV = "0.1.8+svnr${SRCPV}").

So if the recipe states:
-
SRC_URI = "git://anongit.kde.org/calligra.git;protocol=git;branch=master"
SRCREV = "92ff51b5c0f388729f466041b34ab165a7d80987"
PV = "2.3.87+git${SRCPV}"
-

Will it still look up the remote SRCPV instead of using the SRCREV?
Is there a "best practice" or something like that?

>
> All in all, this means that we will need to talk to the git server at
> least once for every incarnation of bitbake (it shouldn't be necessary
> for all tasks, though, as it should be possible to cache it internally
> for this execution of bitbake).

For the git repository in the temp directory this seems to be "cached"
from the DL_DIR:
-
(inside kdelibs ${S} dir)$ git ls-remote | grep -c "^"
>From /work/downloads/oe-core-downloads/git2/anongit.kde.org.kdelibs.git/
417
-
But SRCPV will query the "real" origin right?

>
> /Anders
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel



-- 
Regards
Samuel




More information about the Openembedded-devel mailing list