^{} what is it good for? (bitbake problem)
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.10f7f9073ea0c0c9a95808c9f65a29dcee9657226a 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
Quoted 2 lines · Steffen Sledz
So what is this ^{} which comes from
lib/bb/fetch2/git.pygood 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
Quoted 11 lines · Olof Johansson
Quoted 2 lines · Steffen Sledz
So what is this ^{} which comes from
lib/bb/fetch2/git.pygood 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