[OE-core] Why to make branch info is mandatory for non-master commit with latest bitbake

Richard Purdie richard.purdie at linuxfoundation.org
Mon Mar 17 11:12:20 UTC 2014


On Mon, 2014-03-17 at 11:53 +0100, Detlev Zundel wrote:
> Hi Richard,
> 
> thanks for your answer.
> 
> > Imagine you set your recipe to some invalid SRCREV. It was possible that
> > the fetcher would notice it was missing and attempt to fetch it from
> > upstream (so far so good), then silently continue the build even though
> > it had been unable to find the revision.
> 
> But isn't that the real problem that there was no error in this case?

Yes, that is the real error. The change you pointed to adds in such a
check and raises an error.

> > I think we can agree that is bad, if it can't find something specified,
> > it should error. This is why we added the extra checks to ensure that
> > the revision really does exist after we fetch from upstream.
> 
> Of course I agree that this is bad, but isn't it possible to fix the
> "original problem", i.e. not erroring out after not finding a SRCREV
> even after fetching from upstream?  It is still unclear to me why we
> need to add another check (and another input data) if we agree on this
> error condition.  But maybe this isn't easy to implement?

This is exactly what the patch you pointed at does.

There were other changes to the git fetcher around this time and perhaps
your real issue is with one of the other changes rather than the one you
linked to?

I suspect you're more concerned that the branch name needs to be
specified correctly, i.e. this change:

http://git.yoctoproject.org/cgit.cgi/poky/commit/bitbake/lib/bb/fetch2/git.py?id=2354250a95eab484459f41f8715ae112295c2174

We have recipes that care quite deeply that the branch structure being
fetched matches what is in the remote tree. This includes branches that
may over time be merged with different names, we needed those updates
but they were not always being detected. The check for the revision
therefore wasn't enough, we needed to ensure it matched the branch/tag
being requested, not just that it was present.

I understand this change is a little disruptive but deterministic builds
are extremely important and we uncovered real issues with this fix.

If you are having a problem adapting a recipe please explain what the
problem is and we'll see if we can help figure out a solution.

Cheers,

Richard




More information about the Openembedded-core mailing list