Skip to contentSkip to conversation

^{} what is it good for? (bitbake problem)

DISCUSSION Steffen Sledz 2 participants 3 messages Jun 4, 2014

lore
Share & tools
lore
#0 lore raw

We're are currently switching to daisy (incl. bitbake 1.22). There we hit the following problem.

We've a bbappend for linux-yocto-3.10 containing

--------------> snip <-----------------

SRC_URI +=  " \
    git://github.com/DFE/darmok.git;destsuffix=darmok;type=not-kmeta;tag=darmok_v0.10 \

"
--------------> snap <-----------------

This results in

--------------> snip <-----------------
NOTE: Error during finalise of /pm/sledz/hipos-dfe/openembedded-core/meta/recipes-kernel/linux/linux-yocto_3.10.bb
ERROR: ExpansionError during parsing /pm/sledz/hipos-dfe/openembedded-core/meta/recipes-kernel/linux/linux-yocto_3.10.bb: Failure expanding variable do_patch: ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure for URL: 'git://github.com/DFE/darmok.git;destsuffix=darmok;type=not-kmeta;tag=darmok_v0.10'. The command git ls-remote git://github.com/DFE/darmok.git refs/heads/darmok_v0.10 refs/tags/darmok_v0.10^{} gave empty output unexpectedly --------------> snap <-----------------

And here's the output from some tests on the command line.

--------------> snip <-----------------
sledz@fensuse:/pm/sledz/hipos-dfe> git ls-remote git://github.com/DFE/darmok.git refs/heads/darmok_v0.10 refs/tags/darmok_v0.10^{} sledz@fensuse:/pm/sledz/hipos-dfe> git ls-remote git://github.com/DFE/darmok.git refs/heads/darmok_v0.10 refs/tags/darmok_v0.10
f7f9073ea0c0c9a95808c9f65a29dcee9657226a refs/tags/darmok_v0.10
--------------> snap <-----------------

They confirm the empty output if the command contains this magic ^{} at the end. The command works well if i remove this.

So what is this ^{} which comes from lib/bb/fetch2/git.py good for? Or is this a remnant from a typo?

Steffen

Signature · 7 lines
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, 10319 Berlin, Germany
Tel: +49 30 515932-237 mailto:[email protected]
Fax: +49 30 515932-299
Geschäftsführer: Dr. Michael Weber, Werner Mögle;
Amtsgericht Berlin Charlottenburg; HRB 130120 B;
Ust.-IDNr. DE273952058
#1 lore raw
Quoted 2 lines · Steffen Sledz

So what is this ^{} which comes from lib/bb/fetch2/git.py good for? Or is this a remnant from a typo?

From git-rev-parse(1):

<rev>^{}, e.g. v0.99.8^{}
A suffix ^ followed by an empty brace pair means the object could be a tag, and dereference the tag recursively until a non-tag object is found.

Without this change, (some?) tag references would end up not being considered to be on the requested branch by bitbake (by default, master), as the tag objects themselves are not. The tags therefore have to be resolved to a reference to a commit.

Given the description in git-rev-parse(1), it surprises me that it doesn't work for some cases. I think it has to do with the tag being annotated or not.

Signature · 1 line
olofjn
#2 lore raw
Quoted 11 lines · Olof Johansson
Quoted 2 lines · Steffen Sledz

So what is this ^{} which comes from lib/bb/fetch2/git.py good for? Or is this a remnant from a typo?

From git-rev-parse(1):

<rev>^{}, e.g. v0.99.8^{}
A suffix ^ followed by an empty brace pair means the object could be a tag, and dereference the tag recursively until a non-tag object is found.

Quoted 8 lines

Without this change, (some?) tag references would end up not being considered to be on the requested branch by bitbake (by default, master), as the tag objects themselves are not. The tags therefore have to be resolved to a reference to a commit.

Given the description in git-rev-parse(1), it surprises me that it doesn't work for some cases. I think it has to do with the tag being annotated or not.

You were right. The method works with annotated tags only. I've changed the related tags.

Thx,
Steffen

Signature · 7 lines
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, 10319 Berlin, Germany
Tel: +49 30 515932-237 mailto:[email protected]
Fax: +49 30 515932-299
Geschäftsführer: Dr. Michael Weber, Werner Mögle;
Amtsgericht Berlin Charlottenburg; HRB 130120 B;
Ust.-IDNr. DE273952058