On Thu, 2020-03-12 at 14:55 +0100, Matthias Schoepfer via Lists.Yoctoproject.Org wrote: > We have noticed the following issue: We keep the versions of out > software by means of tags on the git repositories, i.e. during the > build, somethings like git describe --tags gets called. In yocto, > our > recipe of SomeLibrary might look then similar to this: > > SRC_URI = > "git://our.private.gitserver.org/git/SomeLibrary.git;tags=v${PV}" > > When we build the image, and *then* apply a tag to HEAD, that was > already built before, it seems like the tags are not fetched (my > guess > is git fetcher sees that origins HEAD and local HEAD have the same > hash > and is fine with it). > > The error is, that while the correct version is built, it will > report > itself with a wrong version. > > Is this a bug?
Each of the fetcher backends makes some assumptions about what it considers to be "the same". For tarballs from whatever source this is easy and we use the hash of the tarball. For git, we work off the hash from git itself. If the hash changes, the source is taken to be different. Hashes of the same data are taken to be the same. What we don't do is account for any tag that represents that hash. If you have some extra part of the build process which is using that as a factor for the build you would also have to account for it in the task hashes. Nothing does that by default. git tags are a pain as they require network access to evaluate and they break the mirroring structure as you can't know a given tag was fetched into the mirror. So no, I'd not define it as a bug, the bug is you're relying on the tag data but not adding it to the task hashes. You'd somehow need to inject the "git tag for revision X" output into the do_fetch task dependencies. For autorev this happens via: meta/classes/base.bbclass: d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}" so you'd need a new version of get_srcrev() and need to inject that into the vardeps of the fetch task. Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#48776): https://lists.yoctoproject.org/g/yocto/message/48776 Mute This Topic: https://lists.yoctoproject.org/mt/71902370/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-