[yocto] Issue with download cache tarball uniqueness?

Alex J Lennon ajlennon at dynamicdevices.co.uk
Fri May 9 03:38:55 PDT 2014


Hi,

I'm putting together a simple example recipe and have run into an issue
with an incorrect tarball being used from the download cache.

e.g. I have some code committed to github here

https://github.com/DynamicDevices/bbexample/

It's tagged v1.0 so github generates a source tarball for me here

https://github.com/DynamicDevices/bbexample/archive/bbexample-v1.0.tar.gz

I use a SRC_URI in my recipe something like this

SRC_URI =
"https://github.com/DynamicDevices/bbexample/archive/${PN}-v${PV}.tar.gz"

That should result in the file being downloaded, or pulled from cache,
unpacked and so forth.

When I build this recipe I get the wrong source code unpacked (from a
mono-helloworld project I created a while ago)

The mono-helloworld project is also at github and also tagged v1.0

https://github.com/DynamicDevices/mono-helloworld

https://github.com/DynamicDevices/mono-helloworld/archive/v1.0.tar.gz

If I look in my downloads folder I see there is a v1.0.tar.gz file and a
corresponding .done file.

This contains the mono-helloworld sources.

Thus I believe that bitbake is incorrectly assuming that the
mono-helloworld tarball is the cached bbexample tarball as there's no
URI information there.

I was able to show this by removing the v1.0.tar.gz file containing the
mono-helloworld sources in which case a rebuild of my bbexample recipe
results in the correct sources being pulled down, although of course
then the mono-helloworld recipe is broken

...

It doesn't seem unreasonable to use github or the simple vX.X tagging
mechanism, but if I understand what is happening correctly it seems this
will result in cache collisions with downloaded tarballs because of the
naming convention employed by github and the lack of full URI
information in the download cache?

Alex







More information about the yocto mailing list