Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: sstate-cache and making a package "host-dependent"
Date: Wed, 10 Jul 2013 19:45:17 +0200	[thread overview]
Message-ID: <20130710174516.GE3288@jama> (raw)
In-Reply-To: <2537500.7dBumEqH9t@helios>

[-- Attachment #1: Type: text/plain, Size: 2664 bytes --]

On Wed, Jul 10, 2013 at 06:39:20PM +0100, Paul Eggleton wrote:
> Hi Mike,
> 
> On Wednesday 10 July 2013 15:05:23 Mike Looijmans wrote:
> > 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?
> 
> I think distro-feed-configs (from meta-oe, not OE-Core) is for package 
> installation on the target, and has nothing to do with shared state.
> 
> I'm not sure if it's entirely appropriate, but you could take a similar 
> approach to the one we use for preventing native sstate packages from mixing 
> across different distributions (mostly to sidestep host glibc version 
> dependency problems) - set SSTATE_EXTRAPATH to some value for the recipes you 
> don't want to share and then the packages will go into a subdirectory named 
> with that value; you could then delete these automatically from the server.

I would try to add
DISTRO_HOST_NAME[vardepvalue] = "${DISTRO_HOST_NAME}"

that way each builder should create own sstate archive.

use bitbake-diffsigs path-to-distro-feeds.sigdata-file to check that
value of os.uname is included in signature.

Regards,

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

  reply	other threads:[~2013-07-10 17:45 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-05  1:28 [PATCH 0/8] Missing deps discovered in per-recipe builds Martin Jansa
2013-07-05  1:28 ` [PATCH 1/8] (lib)telepathy*: add missing dependency on libxslt-native Martin Jansa
2013-07-05  1:28 ` [PATCH 2/8] gst-plugins-bad: inherit gsettings Martin Jansa
2013-07-05  1:28 ` [PATCH 3/8] gst-plugins-base: add missing dependency on glib-2.0-native Martin Jansa
2013-07-05  1:28 ` [PATCH 4/8] taglib: add missing dependency on zlib Martin Jansa
2013-07-05  1:28 ` [PATCH 5/8] quota: inherit pkgconfig Martin Jansa
2013-07-05  1:28 ` [PATCH 6/8] libpam: " Martin Jansa
2013-07-05  1:28 ` [PATCH 7/8] systemtap: " Martin Jansa
2013-07-05  1:29 ` [PATCH 8/8] eglibc-locale: add missing dependency on virtual/${TARGET_PREFIX}binutils Martin Jansa
2013-07-05 22:43   ` Martin Jansa
2013-07-06  8:39     ` [PATCHv2 1/2] " Martin Jansa
2013-07-06  8:39       ` [PATCHv2 2/2] subversion: explicitly disable sasl Martin Jansa
2013-07-08 14:06         ` Jonathan Liu
2013-07-08 15:01         ` Martin Jansa
2013-07-06 22:56       ` [PATCHv2 1/2] eglibc-locale: add missing dependency on virtual/${TARGET_PREFIX}binutils Chris Larson
2013-07-06 23:08         ` Martin Jansa
2013-07-06 23:15           ` [RFC][PATCH] SHLIBSSEARCHDIRS Martin Jansa
2013-07-06 23:17             ` Martin Jansa
2013-07-06 23:16           ` [RFC][PATCH] base.bbclass: add binutils to BASEDEPENDS Martin Jansa
2013-07-06 23:20           ` [PATCHv2 1/2] eglibc-locale: add missing dependency on virtual/${TARGET_PREFIX}binutils Chris Larson
2013-07-06 23:32             ` Martin Jansa
2013-07-08  3:30       ` Khem Raj
2013-07-05 11:17 ` [PATCH 0/8] Missing deps discovered in per-recipe builds Burton, Ross
2013-07-05 15:28 ` Paul Eggleton
2013-07-05 15:37   ` Burton, Ross
2013-07-06 12:29   ` Martin Jansa
2013-07-06 21:24     ` [RFC][PATCH] test-dependencies: add simple script to detect missing or autoenabled dependencies Martin Jansa
2013-07-06 21:39       ` Martin Jansa
2013-07-08 18:00         ` Randy MacLeod
2013-07-08 19:35           ` Martin Jansa
2013-07-10 12:38         ` [PATCHv2] " Martin Jansa
2013-07-10 12:41           ` Martin Jansa
2013-07-10 14:34             ` Burton, Ross
2013-07-10 14:57               ` Martin Jansa
2013-07-10 13:05           ` sstate-cache and making a package "host-dependent" Mike Looijmans
2013-07-10 17:39             ` Paul Eggleton
2013-07-10 17:45               ` Martin Jansa [this message]
2013-07-29 13:17                 ` Mike Looijmans
2013-07-11 12:38           ` [PATCHv2] test-dependencies: add simple script to detect missing or autoenabled dependencies Martin Jansa
2013-07-11 13:28             ` Chris Larson
2013-07-11 13:49               ` Martin Jansa
2013-07-11 13:56                 ` Chris Larson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130710174516.GE3288@jama \
    --to=martin.jansa@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=paul.eggleton@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox