All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Richard Purdie" <richard.purdie@linuxfoundation.org>
To: Luca Boccassi <Luca.Boccassi@microsoft.com>,
	 "openembedded-core@lists.openembedded.org"
	<openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH v3] util-linux: split uuid in separate recipe to allow bootstrapping
Date: Fri, 11 Dec 2020 16:54:28 +0000	[thread overview]
Message-ID: <8cdb3052c2f91b84127fb85555e3a4505b78a081.camel@linuxfoundation.org> (raw)
In-Reply-To: <a308f746624a7b47541d746265831a187f2535da.camel@microsoft.com>

On Fri, 2020-12-11 at 09:51 +0000, Luca Boccassi wrote:
> On Thu, 2020-12-10 at 20:04 +0000, Richard Purdie wrote:
> > On Thu, 2020-12-10 at 18:47 +0000, Luca Boccassi wrote:
> > > On Thu, 2020-12-10 at 15:52 +0000, Richard Purdie wrote:
> > > > On Mon, 2020-11-23 at 13:28 +0000, Luca Bocassi wrote:
> > I have to ask why libuuid couldn't be done in a separate repository and
> > avoid the need to do a multi-stage build of a component? To me at
> > least, it would seem to make sense to logically split the library code
> > out, then it avoids all the complexity. Yes, that means a different
> > component to release but that isn't unusual.
> 
> Because there's no need for the extra complications - again, it's all
> optional features, so bootstrapping is not an issue when the tooling is
> there to support it.
> I'm not a util-linux maintainer so my opinion on the subject counts for
> precisely nothing, but as a contributor and user I'd not be very happy
> if it was stuck to the lowest common denominator.

If its all optional and not that important I start to wonder why we
should bother with it.

My point is there has to be complexity somewhere for this "mutli-stage" 
approach to work. How much of it you see depends on the system and how
it handles it but you'd agree that having a simple more linear
dependency tree *is* simpler and easier to work with than something
which has multiple stages (and more efficient on build resources too).

> > > Yocto could really use multi stage support - this isn't the first and
> > > won't be the last occurrence. Just my 2c...
> > 
> > Well, we can do it as you're proving, its just ugly and hard to
> > maintain. I don't think the other distros will be particularly happy
> > about needing to do it either. Outside of libgcc, we've not really
> > found that we need to do this often at all and the compiler/libc
> > interface is a lot more "special" than uuid.
> 
> But that's what I'm saying: it doesn't have to be ugly, if the
> infrastructure is there to support it.

I'm sure we (OE) could "hide" it but regardless of whether the code is
hidden or not, its still ugly, not often used and hard to maintain for
someone. We don't want to encourage this though.

> On Debian and derivatives, you just mark the dependency with <!stage1>
> - and that's it. When bootstrapping you start from stage1 and the
> resolver skips those. If the package configure/make scripts are done
> well, by default optional dependencies are skipped if not available and
> if not explicitly set - and util-linux does that.
> In the RPM world, the spec has conditional macros and you set the
> appropriate one at the build config level (eg: in the lower ring
> project on OBS).
> It's not perfect of course, and requires attention, and there are
> complications and gotchas, and things do go wrong at times - but such
> is life in the software world.

Complexity is fine, where it makes sense and is needed. You're failing
to convince me its needed here at all. I believe this does need to be
mentioned to the upstream maintainer as they're probably not aware of
the issues it causes. Obviously someone else will have to do that
though since you believe its "fine".

> 
> > Thanks for updating the patch. I'll put it back into the queue and test
> > the new version.
> 
> Thank you - does the approach of adding RDEPENDS look right? The
> interaction between those variables and the native/nativesdk builds
> still confuses me a lot, and I get it wrong all the time.

I've just looked and to be honest, no, it doesn't look right at all :(.
You're adding dependencies in a recipe where the packages don't exist.

Also, if the recipes are properly structuctred, there should be no need
to do this:

PACKAGES_remove = "util-linux-libuuid util-linux-libuuid-dev util-linux-libuuid-dbg"

The more I look at the patch, the more I'm worried :(. As is, its not
going to work. I'm not even sure how its being tested or can work.

Cheers,

Richard


  reply	other threads:[~2020-12-11 16:54 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-05 20:13 [PATCH] util-linux: split uuid in separate recipe to allow bootstrapping luca.boccassi
2019-12-05 23:29 ` Ross Burton
2019-12-09 16:24 ` [PATCH v2] " luca.boccassi
2020-11-23 13:28   ` [PATCH v3] " Luca Bocassi
2020-12-10 15:52     ` [OE-core] " Richard Purdie
2020-12-10 18:47       ` Luca Boccassi
2020-12-10 20:04         ` Richard Purdie
2020-12-11  9:51           ` Luca Boccassi
2020-12-11 16:54             ` Richard Purdie [this message]
2020-12-14 16:32               ` Luca Boccassi
2020-12-10 18:46     ` [PATCH v4] " Luca Bocassi
2021-01-19 20:52       ` Richard Purdie
2021-01-19 23:13         ` [OE-core] " Paul Eggleton
2021-01-19 23:23           ` Richard Purdie
2021-01-19 23:28             ` Paul Eggleton
2021-02-25 15:31               ` Luca Bocassi
2021-02-25 15:30       ` [PATCH v5] " Luca Bocassi
2021-02-26 19:02         ` [OE-core] " Khem Raj
2021-03-02 19:01           ` Luca Bocassi
2021-02-27 14:52         ` Alexandre Belloni
2021-02-27 15:08           ` Alexandre Belloni
2021-02-27 15:15             ` Alexandre Belloni
2021-03-02 17:31               ` Luca Bocassi
2021-03-02 18:49                 ` Alexandre Belloni
2021-03-03 22:30         ` Richard Purdie
2021-03-04 12:05           ` Luca Bocassi
2021-03-04 12:27       ` [PATCH v6] " Luca Bocassi
2021-03-05  0:13         ` Richard Purdie
2021-03-05 11:03           ` Luca Bocassi
2021-03-05 11:02       ` [PATCH v7] " Luca Bocassi
2021-03-08 19:29         ` Richard Purdie
2021-03-09 11:07           ` Luca Bocassi
2021-03-09 11:18           ` [OE-core] " Kory Maincent
2021-03-09 13:26             ` Luca Bocassi
2021-03-09 13:47               ` Kory Maincent
2021-03-09 13:48                 ` Richard Purdie
2021-03-09 13:56                   ` Luca Bocassi
2021-03-09 11:13       ` [PATCH v8] " Luca Bocassi
2021-03-09 13:56       ` [PATCH v9] " Luca Bocassi
2021-03-09 23:43         ` Richard Purdie
2021-03-10 18:28           ` Luca Bocassi
2021-03-11 10:15             ` Luca Bocassi
2021-03-11 10:31               ` Richard Purdie
2021-03-11 14:37                 ` Luca Bocassi
2021-03-11 14:38       ` [PATCH v10] " Luca Bocassi
2021-03-11 14:44         ` Richard Purdie
2021-03-11 15:10           ` Luca Bocassi
2021-03-11 15:09       ` [PATCH v11] " Luca Bocassi
2021-03-14 22:10         ` Richard Purdie
2021-03-15 10:44           ` Luca Bocassi
2021-03-15 10:49             ` Richard Purdie
2021-03-15 11:50               ` Luca Bocassi
2021-03-15 12:21                 ` Richard Purdie
2021-03-15 13:04                   ` Luca Bocassi
2021-03-15 13:55                   ` [OE-core] " Martin Jansa
2021-03-15 13:57                     ` Richard Purdie
     [not found]                     ` <166C88B2CBAB1BAF.20509@lists.openembedded.org>
2021-03-15 21:51                       ` Richard Purdie
2021-03-24 16:52                         ` Scott Branden
2021-03-24 17:03                           ` Luca Boccassi
2021-03-24 17:37                             ` Richard Purdie
2021-03-24 17:52                               ` Luca Bocassi
2021-03-25  9:17         ` Oleksiy Obitotskyy
2021-03-25  9:34           ` Richard Purdie
2021-03-25  9:48             ` Luca Bocassi
2021-03-25 14:22             ` Peter Kjellerstedt
2021-03-25 14:27               ` Richard Purdie
2021-03-25 15:45                 ` Luca Bocassi
2021-03-25 16:01                   ` Khem Raj
2021-03-25 16:19                 ` Peter Kjellerstedt
2021-03-25 16:51                   ` Richard Purdie
2021-03-26 18:06                     ` Peter Kjellerstedt
2021-03-26 18:12                       ` Richard Purdie
2021-03-26 18:22                         ` Andre McCurdy
2019-12-09 16:33 ` [PATCH] " Luca Boccassi

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=8cdb3052c2f91b84127fb85555e3a4505b78a081.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=Luca.Boccassi@microsoft.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.