From: Patrick Ohly <patrick.ohly@intel.com>
To: Christopher Larson <kergoth@gmail.com>
Cc: Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 3/6] yocto-compat-layer.py: apply test_signatures to all layers
Date: Tue, 30 May 2017 08:51:15 +0200 [thread overview]
Message-ID: <1496127075.16923.146.camel@intel.com> (raw)
In-Reply-To: <CABcZANmeNcT0JHWXaJM2__EZrgarSjCqQO3Af4trGNF_Dria-A@mail.gmail.com>
On Mon, 2017-05-29 at 13:14 -0700, Christopher Larson wrote:
>
> On Mon, May 29, 2017 at 12:26 PM, Aníbal Limón
> <anibal.limon@linux.intel.com> wrote:
> >
> > Changing software versions is indeed a bit more problematic.
> One could
> > argue that layers shouldn't fight over who provides a
> certain recipe in
> > the first place. If they do, perhaps the "additional
> layers" (= the ones
> > with lower priority) need to provide explicit .inc files
> with
> > PREFERRED_VERSION assignments without which the overriding
> recipes
> > aren't used?
>
> Yes, so in this case will need to set automatically the
> preferred
> versions to oe-core recipes, and then let the distro layer to
> change the
> preferred version in this way when test a distro layer with
> oe-core the
> signatures not will change only when add the combo of distro
> layer +
> software layer.
>
> Currently, if you add a high priority layer with an older version
> recipe, it will change the default selected recipe, lacking a
> PREFERRED_VERSION. You can’t use DEFAULT_PREFERENCE to make the new
> old version of a recipe not be used, since bitbake treats layer
> priority as more important than default preference, so adding a .inc
> won’t do much good, since you can’t make the recipe not be preferred
> by default without a preferred version set to the current oe-core
> version. You could add such a line to the layer.conf, but then you’re
> hardcoding the oe-core recipe version into a separate layer, which is
> pretty ugly. I don’t htink we should be enforcing this signature
> change without resolving this.
The key question is whether overriding existing recipes implicitly
merely by adding a layer is considered acceptable. Any opinions about
that?
We agree that changing via .bbappend unconditionally is bad, even for a
software layer, right?
That means that the signature check must be applied, but with an
exception for wholesale recipe replacements. I can think of one
solution, and that is to artificially lower the priority of the
collections in the new layer so that the recipes in it cannot override
the ones in the base configuration anymore. But this is kind of a hack
and might lead to broken world builds (for example, the layer overrides
recipe A with a version which adds an RPROVIDES foo, and another recipe
B in the layer RDEPENDS on foo).
The alternative would be to do a deep dive into the signature diff and
filter out those changes which are caused by a replaced recipe. This
could be fairly tricky to implement, in particular as these changes then
also affect all recipes depending on the replace recipe. The code behind
bitbake-diffsigs has known limitations regarding recursively identifying
changes [1], so this probably would have to be solved first.
[1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=6428#c4
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
next prev parent reply other threads:[~2017-05-30 6:51 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-29 15:32 [PATCH 0/6] yocto-compat-layer.py: various enhancements Patrick Ohly
2017-05-29 15:32 ` [PATCH 1/6] yocto-compat-layer.py: avoid adding layers more than once Patrick Ohly
2017-05-29 15:32 ` [PATCH 2/6] yocto-compat-layer.py: tolerate broken world builds during signature diff Patrick Ohly
2017-05-29 15:32 ` [PATCH 3/6] yocto-compat-layer.py: apply test_signatures to all layers Patrick Ohly
2017-05-29 16:13 ` Aníbal Limón
2017-05-29 19:18 ` Patrick Ohly
2017-05-29 19:26 ` Aníbal Limón
2017-05-29 20:14 ` Christopher Larson
2017-05-30 6:51 ` Patrick Ohly [this message]
2017-05-29 15:32 ` [PATCH 4/6] yocto-compat-layer.py: add test_world Patrick Ohly
2017-05-29 15:32 ` [PATCH 5/6] yocto-compat-layer.py: allow README with suffix Patrick Ohly
2017-05-29 15:32 ` [PATCH 6/6] yocto-compat-layer.py: make signature check code reusable Patrick Ohly
2017-05-29 16:15 ` [PATCH 0/6] yocto-compat-layer.py: various enhancements Aníbal Limón
2017-06-27 15:33 ` [PATCH v2 " Patrick Ohly
2017-06-27 15:33 ` [PATCH v2 1/6] yocto-compat-layer.py: avoid adding layers more than once Patrick Ohly
2017-06-27 22:46 ` Christopher Larson
2017-06-28 7:50 ` Patrick Ohly
2017-06-28 9:06 ` Mark Hatle
2017-06-27 15:33 ` [PATCH v2 2/6] yocto-compat-layer.py: tolerate broken world builds during signature diff Patrick Ohly
2017-06-27 15:33 ` [PATCH v2 3/6] yocto-compat-layer.py: apply test_signatures to all layers Patrick Ohly
2017-06-28 9:08 ` Mark Hatle
2017-06-28 9:33 ` Patrick Ohly
2017-06-30 9:17 ` Mark Hatle
2017-06-27 15:33 ` [PATCH v2 4/6] yocto-compat-layer.py: add test_world Patrick Ohly
2017-06-27 15:33 ` [PATCH v2 5/6] yocto-compat-layer.py: allow README with suffix Patrick Ohly
2017-06-27 15:33 ` [PATCH v2 6/6] yocto-compat-layer.py: make signature check code reusable Patrick Ohly
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=1496127075.16923.146.camel@intel.com \
--to=patrick.ohly@intel.com \
--cc=kergoth@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.