[OE-core] sstate-cache and making a package "host-dependent"

Mike Looijmans mike.looijmans at topic.nl
Wed Jul 10 13:05:23 UTC 2013


I added a buildserver that also exports its "sstate-cache" directory, so 
that other build machines can grab their stuff from it. This works fine, 
but I have one problem. Some packages are meant to be dependent on the 
system that built it. I want to enforce that each build machine creates 
its own package, and does not grab it from the sstate-cache of the 
central server.

For example,

$ cat recipes-core/meta/distro-feed-configs.bbappend
PRINC="1"
DISTRO_HOST_NAME ?= "${@os.uname()[1]}"
DISTRO_FEED_NAME ?= "feed"
DISTRO_FEED_PREFIX = "topic"
DISTRO_FEED_URI = 
"http://${DISTRO_HOST_NAME}/${DISTRO_FEED_NAME}/${MACHINE}"


The purpose being that the host name of the machien that built the image 
ends up in the opkg config files. This works just fine.
Now that we have a central server, all images on all build hosts grab 
the package from the sstate-cache server, resulting in the feed pointing 
to the central server instead of the private one, which is not what I 
wanted to happen.

After reading the documentation, I added the following line to the recipe:

PACKAGE_ARCHS[vardeps] = "DISTRO_FEED_URI"

This did not have the desired effect. The package is still retrieved 
from the cache, and not rebuilt locally. Even if I clean and force a 
rebuild of the distro-feed-configs package, the package that ends up in 
the image is still the one from the central server.

What am I missing here?




More information about the Openembedded-core mailing list