* Layer model doomed, unless we all work together
@ 2014-11-18 21:28 Philip Balister
2014-11-18 21:57 ` Burton, Ross
2014-11-20 3:34 ` Joe MacDonald
0 siblings, 2 replies; 8+ messages in thread
From: Philip Balister @ 2014-11-18 21:28 UTC (permalink / raw)
To: Yocto Project
As evidence, please review this list:
http://layers.openembedded.org/layerindex/branch/master/duplicates/
I mean FOUR recipes for alsa-plugins?
I am trying to fix the pyqt recipe in meta-oe, and had th eidea to check
for it in other layers. This leads me to meta-ivi-demo, which has an
update for sip-native and another pyqt recipe. To be fair, they are
using Qt5, so it is a little more complex.
At any rate, we need to stop ripping recipes out of layers and maing
local copies, or worse, updating our local copies and not the primary
layer. The intent of the layer concept was not to fragment development
across many separate repositories.
I see a couple of issues we need to start talking about:
1) recipes that need to move closer to core because a range of other
packages use them.
2) people feel they have to remove recipes from layers and make local
copies.
And just so people know what seriously pisses me off :) Copying a recipe
from a layer, updating it, and not sending the recipe to the layer they
got the update from.
Thanks for letting me vent,
Philip
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Layer model doomed, unless we all work together
2014-11-18 21:28 Layer model doomed, unless we all work together Philip Balister
@ 2014-11-18 21:57 ` Burton, Ross
2014-11-18 23:03 ` Martin Jansa
2014-11-20 3:34 ` Joe MacDonald
1 sibling, 1 reply; 8+ messages in thread
From: Burton, Ross @ 2014-11-18 21:57 UTC (permalink / raw)
To: Philip Balister; +Cc: Yocto Project
[-- Attachment #1: Type: text/plain, Size: 1513 bytes --]
Hi Philip,
Yes. What you said. Some comments:
On 18 November 2014 21:28, Philip Balister <philip@balister.org> wrote:
>
> 1) recipes that need to move closer to core because a range of other
> packages use them.
>
alsa-plugins is one of these - meta-multimedia or maybe oe-core is an
obvious home for this. As a "maintainer" (ha!) of meta-guacamayo I can
take a look at this but I'm fairly busy at the moment so this may take a
while.
In an attempt to balance karma, I have submitted several new recipes that
were in meta-guacamayo and needed elsewhere to meta-multimedia in the last
week. :)
> 2) people feel they have to remove recipes from layers and make local
> copies.
>
Making local copies if fine if required, but I agree that there's bound to
be a high number of recipes which are forked because that was easier than
writing a bbappend, and the reason for this fork was needed is never
resolved in the original layer.
Looking over the duplicate list, there's some obvious low-hanging fruit.
Angstrom duplicates recipes that are in meta-multimedia. meta-webos and
meta-webos-ports seem to be full of duplicates. meta-guacamayo has some
recipes that were version bumps two years ago when oe-core was frozen. The
dpdk duplicates are a bug in the tool with regards to sub-layers.
It's a shame that we can't make this some form of offense. Maybe we should
spend some time researching
https://nctritech.files.wordpress.com/2008/11/tcpip_punch1.jpg?
Ross
[-- Attachment #2: Type: text/html, Size: 2571 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Layer model doomed, unless we all work together
2014-11-18 21:57 ` Burton, Ross
@ 2014-11-18 23:03 ` Martin Jansa
2014-11-19 15:19 ` Philip Balister
0 siblings, 1 reply; 8+ messages in thread
From: Martin Jansa @ 2014-11-18 23:03 UTC (permalink / raw)
To: Burton, Ross; +Cc: Yocto Project
[-- Attachment #1: Type: text/plain, Size: 590 bytes --]
On Tue, Nov 18, 2014 at 09:57:30PM +0000, Burton, Ross wrote:
> Looking over the duplicate list, there's some obvious low-hanging fruit.
> Angstrom duplicates recipes that are in meta-multimedia. meta-webos and
> meta-webos-ports seem to be full of duplicates. meta-guacamayo has some
meta-webos-ports is fork of meta-webos, so duplicates between these 2
are expected.
Also meta-webos master branch is compatible only with 1.4 dylan release,
so some of the duplicated recipes are actually backports from newer OE.
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Layer model doomed, unless we all work together
2014-11-18 23:03 ` Martin Jansa
@ 2014-11-19 15:19 ` Philip Balister
2014-11-20 12:04 ` Robert Berger
0 siblings, 1 reply; 8+ messages in thread
From: Philip Balister @ 2014-11-19 15:19 UTC (permalink / raw)
To: Martin Jansa, Burton, Ross; +Cc: Yocto Project
[-- Attachment #1: Type: text/plain, Size: 1776 bytes --]
On 11/18/2014 06:03 PM, Martin Jansa wrote:
> On Tue, Nov 18, 2014 at 09:57:30PM +0000, Burton, Ross wrote:
>> Looking over the duplicate list, there's some obvious low-hanging fruit.
>> Angstrom duplicates recipes that are in meta-multimedia. meta-webos and
>> meta-webos-ports seem to be full of duplicates. meta-guacamayo has some
>
> meta-webos-ports is fork of meta-webos, so duplicates between these 2
> are expected.
Paul explained you can use the filter button to adjust the layers
scanned for dupes. This should be all layers minus meta-webos-ports:
http://layers.openembedded.org/layerindex/branch/master/duplicates/?l=91&l=123&l=30&l=147&l=168&l=148&l=31&l=65&l=66&l=32&l=124&l=164&l=67&l=149&l=77&l=101&l=118&l=33&l=3&l=34&l=142&l=169&l=35&l=137&l=171&l=139&l=108&l=162&l=81&l=82&l=95&l=125&l=145&l=146&l=114&l=4&l=36&l=68&l=140&l=83&l=132&l=5&l=154&l=120&l=84&l=6&l=93&l=112&l=7&l=37&l=167&l=38&l=8&l=98&l=39&l=165&l=40&l=105&l=69&l=9&l=10&l=110&l=107&l=11&l=12&l=13&l=14&l=41&l=15&l=99&l=151&l=170&l=85&l=42&l=43&l=113&l=159&l=16&l=78&l=92&l=103&l=157&l=97&l=119&l=70&l=152&l=153&l=71&l=126&l=115&l=136&l=44&l=45&l=163&l=17&l=102&l=150&l=46&l=18&l=19&l=79&l=2&l=138&l=174&l=20&l=21&l=128&l=129&l=130&l=131&l=47&l=104&l=48&l=135&l=22&l=173&l=121&l=23&l=160&l=49&l=106&l=24&l=50&l=117&l=143&l=87&l=51&l=52&l=25&l=133&l=116&l=53&l=72&l=122&l=73&l=54&l=55&l=172&l=88&l=109&l=56&l=57&l=100&l=26&l=155&l=90&l=58&l=144&l=59&l=60&l=74&l=61&l=75&l=158&l=134&l=62&l=111&l=27&l=76&l=28&l=141&l=1&l=64
Although that url might fail, you get the idea how to use the tool better :)
Philip
>
> Also meta-webos master branch is compatible only with 1.4 dylan release,
> so some of the duplicated recipes are actually backports from newer OE.
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 484 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Layer model doomed, unless we all work together
2014-11-18 21:28 Layer model doomed, unless we all work together Philip Balister
2014-11-18 21:57 ` Burton, Ross
@ 2014-11-20 3:34 ` Joe MacDonald
2014-11-20 13:43 ` Paul Eggleton
1 sibling, 1 reply; 8+ messages in thread
From: Joe MacDonald @ 2014-11-20 3:34 UTC (permalink / raw)
To: Philip Balister; +Cc: Yocto Project
[-- Attachment #1: Type: text/plain, Size: 5133 bytes --]
Hey Philip,
[[yocto] Layer model doomed, unless we all work together] On 14.11.18 (Tue 16:28) Philip Balister wrote:
> As evidence, please review this list:
>
> http://layers.openembedded.org/layerindex/branch/master/duplicates/
>
> I mean FOUR recipes for alsa-plugins?
>
> I am trying to fix the pyqt recipe in meta-oe, and had th eidea to check
> for it in other layers. This leads me to meta-ivi-demo, which has an
> update for sip-native and another pyqt recipe. To be fair, they are
> using Qt5, so it is a little more complex.
>
> At any rate, we need to stop ripping recipes out of layers and maing
> local copies, or worse, updating our local copies and not the primary
> layer. The intent of the layer concept was not to fragment development
> across many separate repositories.
I completely agree and I'm glad you brought it up. I'm all for doing
what I can to help on this. I also second Ross' suggestion, perhaps we
could start working on an implementation of RFC5841 as a first phase,
though I'm thinking that may not be the healthiest thing for me. :-)
> I see a couple of issues we need to start talking about:
>
> 1) recipes that need to move closer to core because a range of other
> packages use them.
This was actually the only thing I thought needed further discussion
(everything else should largely be a nod-in-agreement thing), as in some
cases I'm not sure it's always clear what constitutes "closer to the
core". Poky and oe-core layers are pretty clear, but the next step
beyond that isn't. Are all layers hosted on git.yoctoproject.org
inherhently "more core" than layers on git.openenbedded.org? And
there's a number of shells when you start including all of the github
projects, setting aside other open-source project hosting services.
Looking at the link you sent out based on Paul's suggestion, I see I'm
actually on both sides of this equation, so yay! And I'll limit the
discussion to what's indexed there.
Here're my examples.
iscsi-initiator-utils: both in meta-networking nd meta-openstack. Both
at the same version currently but wildly different contents.
meta-openstack is a git.yoctoproject.org project, so does that make it
closer to the core? I would think not, but as I recall there had been
some comment about the openstack layer intending to limit layer
dependencies outside Yocto core when it first appeared, so maybe making
meta-networking a dependency is a non-starter for them.
That said, I feel sorry for Alex's meta-cgl layer since it looks like it
uses both meta-networking and meta-openstack and bbappends to
iscsi-initiator-utils, which have significantly different patch sets.
It hasn't bitten me in any of my testing with meta-cgl yet, but I didn't
even notice this before now and I wasn't testing iscsi. I would not be
at all surprised if different people have different results using iscsi
with meta-cgl now.
On the other side of the coin is the swig recipe in meta-selinux and
meta-oe. The selinux build requires swig, so the meta-selinux layer
needs to know it is there. I was actually gearing up a while back to
ditch the swig recipe in meta-selinux since it was so old and obviously
behind the meta-oe version, but didn't ... for reasons that now escape
me but could have been "because that would make meta-selinux depend on
meta-oe", which isn't necessarily a dependency we wanted to bring in for
meta-selinux. But I'm highly allergic to duplicating (and inevitably
diverging) data, so I'd still like to kick swig out of meta-selinux.
But I also almost never build meta-selinux projects without some of
meta-oe kicking around too. Maybe that's everyone who uses
meta-selinux, I don't know.
Anyway, just to keep it really interesting, is meta-selinux and
meta-security, both including recipes for libcap-ng, both at the same
version, both different again (though not nearly so bad as the example
above). Which of these is more core? I honestly don't know, since I
have used them together and separately on roughly equal number of
projects and I expect that trend will continue for a good long while for
me. I think this might be a scenario where meta-selinux and
meta-security could make a case for trying to push this recipe further
toward the core.
Also, in light of this discovery, I'll be sending a patch for
meta-security soon, since the meta-selinux changes for libcap-ng are
almost certainly wanted there too. But that's neither here nor there.
> 2) people feel they have to remove recipes from layers and make local
> copies.
>
> And just so people know what seriously pisses me off :) Copying a recipe
> from a layer, updating it, and not sending the recipe to the layer they
> got the update from.
I don't know if that's what has happened with any of the recipes in the
layers I baby-sit, but if it is, it was absolutely not intentional and
I'll see what I can do about recovering a bit of karma by tidying up
about the place a bit. :-)
-J.
>
> Thanks for letting me vent,
>
> Philip
--
-Joe MacDonald.
:wq
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 501 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Layer model doomed, unless we all work together
2014-11-19 15:19 ` Philip Balister
@ 2014-11-20 12:04 ` Robert Berger
0 siblings, 0 replies; 8+ messages in thread
From: Robert Berger @ 2014-11-20 12:04 UTC (permalink / raw)
To: yocto; +Cc: Yocto Project
Hi,
On 11/19/2014 05:19 PM, Philip Balister wrote:
>
> http://layers.openembedded.org/layerindex/branch/master/duplicates/?l=91&l=123&l=30&l=147&l=168&l=148&l=31&l=65&l=66&l=32&l=124&l=164&l=67&l=149&l=77&l=101&l=118&l=33&l=3&l=34&l=142&l=169&l=35&l=137&l=171&l=139&l=108&l=162&l=81&l=82&l=95&l=125&l=145&l=146&l=114&l=4&l=36&l=68&l=140&l=83&l=132&l=5&l=154&l=120&l=84&l=6&l=93&l=112&l=7&l=37&l=167&l=38&l=8&l=98&l=39&l=165&l=40&l=105&l=69&l=9&l=10&l=110&l=107&l=11&l=12&l=13&l=14&l=41&l=15&l=99&l=151&l=170&l=85&l=42&l=43&l=113&l=159&l=16&l=78&l=92&l=103&l=157&l=97&l=119&l=70&l=152&l=153&l=71&l=126&l=115&l=136&l=44&l=45&l=163&l=17&l=102&l=150&l=46&l=18&l=19&l=79&l=2&l=138&l=174&l=20&l=21&l=128&l=129&l=130&l=131&l=47&l=104&l=48&l=135&l=22&l=173&l=121&l=23&l=160&l=49&l=106&l=24&l=50&l=117&l=143&l=87&l=51&l=52&l=25&l=133&l=116&l=53&l=72&l=122&l=73&l=54&l=55&l=172&l=88&l=109&l=56&l=57&l=100&l=26&l=155&l=90&l=58&l=144&l=59&l=60&l=74&l=61&l=75&l=158&l=134&l=62&l=111&l=27&l=76&l=28&l=141&l=1&l=64
>
> Although that url might fail, you get the idea how to use the tool better :)
The url works for me;)
You just mention duplicated classes and recipes here, but there are more
things which should be cleaned up ;)
The worst thing about Yocto/poky/OE is, that people can do and do things
in many mysterious ways. Looking through various meta-layers you don't
see a "common coding style", which means that you either need to twist
your brain to understand what others did, or write things from scratch.
I guess we should first publish "best practices" and then try to enforce
them in a first step with maybe with something like "WARN_QA" and
"ERROR_QA" and/or extend oelint.
What do you think?
>
> Philip
>
Regards,
Robert
..."Stroustroup writes in the ARM: C programmers think that memory
allocation is too important to be left to the computer, Lisp programmers
think that memory allocation is too important to be left to the programmer."
My public pgp key is available,at:
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x90320BF1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Layer model doomed, unless we all work together
2014-11-20 3:34 ` Joe MacDonald
@ 2014-11-20 13:43 ` Paul Eggleton
2014-11-20 15:59 ` Joe MacDonald
0 siblings, 1 reply; 8+ messages in thread
From: Paul Eggleton @ 2014-11-20 13:43 UTC (permalink / raw)
To: yocto
On Wednesday 19 November 2014 22:34:41 Joe MacDonald wrote:
> [[yocto] Layer model doomed, unless we all work together] On 14.11.18 (Tue
16:28) Philip Balister wrote:
> > I see a couple of issues we need to start talking about:
> >
> > 1) recipes that need to move closer to core because a range of other
> > packages use them.
>
> This was actually the only thing I thought needed further discussion
> (everything else should largely be a nod-in-agreement thing), as in some
> cases I'm not sure it's always clear what constitutes "closer to the
> core". Poky and oe-core layers are pretty clear, but the next step
> beyond that isn't. Are all layers hosted on git.yoctoproject.org
> inherhently "more core" than layers on git.openenbedded.org? And
> there's a number of shells when you start including all of the github
> projects, setting aside other open-source project hosting services.
The answer to me there is certainly not. I've said this recently in other
discussions, but I'll say it here anyway in case anyone else isn't sure -
layers on git.yoctoproject.org should not be considered in any way more official
than anywhere else solely based on them being hosted there. Anyone who wants
to maintain and publish a layer suitable for others to use can get a
repository on git.yoctoproject.org - there's no official review, validation, or
acceptance criteria in the general case just for having a repository there
(beyond being related to the project, that is).
To me this isn't so much about "closer to the core", it's about:
1) sensible recipe groupings, e.g. meta-networking rather than a particular
project's mixed recipes layer
2) good maintenance, i.e. recipes are semi-regularly updated when upstream
releases happen, fixed when needed to accommodate changes that happen in other
layers it depends upon such as OE-Core, and the maintainer is reasonably
responsive to patches or questions relating to the layer.
We need both of those things to encourage re-use, and if we have both then it
doesn't really matter where a layer is hosted as long as it's listed in the
layer index.
> Looking at the link you sent out based on Paul's suggestion, I see I'm
> actually on both sides of this equation, so yay! And I'll limit the
> discussion to what's indexed there.
>
> Here're my examples.
>
> iscsi-initiator-utils: both in meta-networking nd meta-openstack. Both
> at the same version currently but wildly different contents.
> meta-openstack is a git.yoctoproject.org project, so does that make it
> closer to the core? I would think not, but as I recall there had been
> some comment about the openstack layer intending to limit layer
> dependencies outside Yocto core when it first appeared, so maybe making
> meta-networking a dependency is a non-starter for them.
So I've talked to Bruce about meta-openstack before, with particular regard to
the number of python recipes that the layer ships and future overlap with
meta-python, and apparently the policy there is not to pull in other layers
for some dependencies with the aim of avoiding breakage on upgrades. I don't
like that very much at all, to be frank, but I can at least understand it
given how huge OpenStack is. It does of course mean that the overlap with that
layer in particular is only going to increase as time goes on.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Layer model doomed, unless we all work together
2014-11-20 13:43 ` Paul Eggleton
@ 2014-11-20 15:59 ` Joe MacDonald
0 siblings, 0 replies; 8+ messages in thread
From: Joe MacDonald @ 2014-11-20 15:59 UTC (permalink / raw)
To: Paul Eggleton; +Cc: yocto
[-- Attachment #1: Type: text/plain, Size: 5295 bytes --]
Hi Paul,
[Re: [yocto] Layer model doomed, unless we all work together] On 14.11.20 (Thu 13:43) Paul Eggleton wrote:
> On Wednesday 19 November 2014 22:34:41 Joe MacDonald wrote:
> > [[yocto] Layer model doomed, unless we all work together] On 14.11.18 (Tue
> 16:28) Philip Balister wrote:
> > > I see a couple of issues we need to start talking about:
> > >
> > > 1) recipes that need to move closer to core because a range of other
> > > packages use them.
> >
> > This was actually the only thing I thought needed further discussion
> > (everything else should largely be a nod-in-agreement thing), as in some
> > cases I'm not sure it's always clear what constitutes "closer to the
> > core". Poky and oe-core layers are pretty clear, but the next step
> > beyond that isn't. Are all layers hosted on git.yoctoproject.org
> > inherhently "more core" than layers on git.openenbedded.org? And
> > there's a number of shells when you start including all of the github
> > projects, setting aside other open-source project hosting services.
>
> The answer to me there is certainly not. I've said this recently in other
> discussions, but I'll say it here anyway in case anyone else isn't sure -
> layers on git.yoctoproject.org should not be considered in any way more official
> than anywhere else solely based on them being hosted there. Anyone who wants
> to maintain and publish a layer suitable for others to use can get a
> repository on git.yoctoproject.org - there's no official review, validation, or
> acceptance criteria in the general case just for having a repository there
> (beyond being related to the project, that is).
That certainly makes sense to me, though I can respect if a project
maintainer wanted to try to keep everything they put there contained to
other projects hosted there. Probably that's not even the case now,
I've not looked, but if I were starting a layer that I wanted to be
dependent only on, say, oe-core, and it was still useful to the
community at large, I would consider git.yoctoproject.org to be the most
sensible place to host it.
Regardless, I think your clarification makes perfect sense.
> To me this isn't so much about "closer to the core", it's about:
>
> 1) sensible recipe groupings, e.g. meta-networking rather than a particular
> project's mixed recipes layer
>
> 2) good maintenance, i.e. recipes are semi-regularly updated when upstream
> releases happen, fixed when needed to accommodate changes that happen in other
> layers it depends upon such as OE-Core, and the maintainer is reasonably
> responsive to patches or questions relating to the layer.
>
> We need both of those things to encourage re-use, and if we have both then it
> doesn't really matter where a layer is hosted as long as it's listed in the
> layer index.
Fair enough. Though I do think that a natural consequence of the
groupings in #1 above would tend to have recipes that appear in multiple
project's mixed recipe layers move toward the core. But I also agree
that it needs to make sense for the layers involved.
> > Looking at the link you sent out based on Paul's suggestion, I see I'm
> > actually on both sides of this equation, so yay! And I'll limit the
> > discussion to what's indexed there.
> >
> > Here're my examples.
> >
> > iscsi-initiator-utils: both in meta-networking nd meta-openstack. Both
> > at the same version currently but wildly different contents.
> > meta-openstack is a git.yoctoproject.org project, so does that make it
> > closer to the core? I would think not, but as I recall there had been
> > some comment about the openstack layer intending to limit layer
> > dependencies outside Yocto core when it first appeared, so maybe making
> > meta-networking a dependency is a non-starter for them.
>
> So I've talked to Bruce about meta-openstack before, with particular regard to
> the number of python recipes that the layer ships and future overlap with
> meta-python, and apparently the policy there is not to pull in other layers
> for some dependencies with the aim of avoiding breakage on upgrades. I don't
> like that very much at all, to be frank, but I can at least understand it
> given how huge OpenStack is. It does of course mean that the overlap with that
> layer in particular is only going to increase as time goes on.
Hmm. Okay, I don't want to veer too far off the topic, but what I'm
getting from this is that meta-openstack is a layer usable for building
OpenStack, but otherwise probably isn't an ideal base for other layers.
There's two obvious points of divergence between meta-networking recipes
and meta-openstack ones, both of which have the same priority, and it
sounds like there's going to be an increasing number of these with
meta-python. I don't know that, given how large OpenStack is, adding
other layer dependencies would amount to more than a drop in the bucket,
but as a philosophical discussion rather than a technical one, I'll
stick to knowing to regularly check the index and time I'm looking at
recipes or working with a new layer. That's probably really good advice
for anyone, honestly.
That's for the info, Paul.
--
-Joe MacDonald.
:wq
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 501 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-11-20 15:59 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-18 21:28 Layer model doomed, unless we all work together Philip Balister
2014-11-18 21:57 ` Burton, Ross
2014-11-18 23:03 ` Martin Jansa
2014-11-19 15:19 ` Philip Balister
2014-11-20 12:04 ` Robert Berger
2014-11-20 3:34 ` Joe MacDonald
2014-11-20 13:43 ` Paul Eggleton
2014-11-20 15:59 ` Joe MacDonald
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.