Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mike Looijmans <mike.looijmans@topic.nl>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: Paul Eggleton <paul.eggleton@linux.intel.com>,
	openembedded-core@lists.openembedded.org
Subject: Re: sstate-cache and making a package "host-dependent"
Date: Mon, 29 Jul 2013 15:17:01 +0200	[thread overview]
Message-ID: <51F66B4D.3090903@topic.nl> (raw)
In-Reply-To: <20130710174516.GE3288@jama>

On 07/10/2013 07:45 PM, Martin Jansa wrote:
> 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.

I forgot to give my final feedback on this, it would be impolite to ask 
for advise and don't report back on whether it was useful, so here goes:

I've been using that setting for a while now and it does exactly what I 
wanted it to do. Every build machine creates its own feed configuration, 
while the big buildserver creates about everything else. The shared 
state cache is a big time saver for us.

Thanks!

Mike.


Met vriendelijke groet / kind regards,

Mike Looijmans


TOPIC Embedded Systems
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: (+31) – (0)499 - 33.69.79
Telefax: (+31) - (0)499 - 33.69.70
E-mail: mike.looijmans@topic.nl
Website: www.topic.nl

Dit e-mail bericht en de eventueel daarbij behorende bijlagen zijn uitsluitend bestemd voor de geadresseerde, zoals die blijkt uit het e-mail bericht en/of de bijlagen. Er kunnen gegevens met betrekking tot een derde instaan. Indien u als niet-geadresseerde dit bericht en de bijlagen ontvangt, terwijl u niet bevoegd of gemachtigd bent om dit bericht namens de geadresseerde te ontvangen, wordt u verzocht de afzender hierover direct te informeren en het e-mail bericht met de bijlagen te vernietigen. Ieder gebruik van de inhoud van het e-mail bericht, waaronder de daarbij behorende bijlagen, door een ander dan de geadresseerde is onrechtmatig jegens ons dan wel de eventueel in het e-mail bericht of de bijlagen voorkomende andere personen. TOPIC Embedded Systems is niet aansprakelijk voor enigerlei schade voortvloeiend uit het gebruik en/of acceptatie van dit e-mail bericht of de daarbij behorende bijlagen.

The contents of this message, as well as any enclosures, are addressed personally to, and thus solely intended for the addressee. They may contain information regarding a third party. A recipient who is neither the addressee, nor empowered to receive this message on behalf of the addressee, is kindly requested to immediately inform the sender of receipt, and to destroy the message and the enclosures. Any use of the contents of this message and/or the enclosures by any other person than the addressee or person who is empowered to receive this message, is illegal towards the sender and/or the aforementioned third party. TOPIC Embedded Systems is not  liable for any damage as a result of the use and/or acceptance of this message and as well as any enclosures.


  reply	other threads:[~2013-07-29 13:17 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
2013-07-29 13:17                 ` Mike Looijmans [this message]
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=51F66B4D.3090903@topic.nl \
    --to=mike.looijmans@topic.nl \
    --cc=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