[oe] Package build failure

Anders Darander anders.darander at gmail.com
Thu Apr 5 08:09:52 UTC 2012


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}").

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).

/Anders




More information about the Openembedded-devel mailing list