Fedora Ring 0 definition
Simo Sorce
simo at redhat.com
Wed Sep 2 21:28:56 UTC 2015
On Wed, 2015-09-02 at 14:24 -0700, Brendan Conoboy wrote:
> On 09/02/2015 02:14 PM, Simo Sorce wrote:
> > On Wed, 2015-09-02 at 13:57 -0700, Brendan Conoboy wrote:
> >> On 09/02/2015 12:47 PM, Simo Sorce wrote:
> >>> On Wed, 2015-09-02 at 15:31 -0400, Matthew Miller wrote:
> >>>> On Wed, Sep 02, 2015 at 11:59:55AM -0700, Brendan Conoboy wrote:
> >>>>> Re-sending this with a better title so people might read it ;-)
> >>>>
> >>>> Yes, thanks -- I admit to having skimmed over it in my mail-catchup
> >>>> attempt.
> >>>>
> >>>>>> especially how the rings interact. As a side note, everyone agreed
> >>>>>> the word "rings" breaks down the further you get away from the center,
> >>>>>> but nobody has come up with something better yet (Venns? Blobs?
> >>>>>> Zones?).
> >>>>
> >>>> If people aren't gonna want to rename Rawhide to Bikeshed, then maybe
> >>>> *this* could be called that. :)
> >>>>
> >>>>>> Right now the Fedora distribution is 1 ring, let's call it ring 1. The
> >>>>>> distribution contains an operating system and numerous applications
> >>>>>> that run on that operating system. When we talk about defining ring 0
> >>>>>> we're really talking about distinguishing between the operating system
> >>>>>> and the applications that run on top of it.
> >>>>
> >>>> Speaking of bikesheds... we've traditionally defined the Fedora
> >>>> operating system as *the whole thing*, so now calling a subset of that
> >>>> the OS gives plenty of room for quibbling. I'm hoping to forestall that
> >>>> by saying that regardless of that, we all know what you mean here. That
> >>>> may be optimistic.
> >>>>
> >>>>
> >>>>>> We want to go from this:
> >>>>>> Ring 1: The Fedora Distribution
> >>>>>> To this:
> >>>>>>
> >>>>>> The Fedora Distribution:
> >>>>>> Ring 0: The Linux Operating System
> >>>>>> Ring 1: The Applications and Stacks
> >>>>>>
> >>>>>> It seems quite modest, but working through the details on what this
> >>>>>> means is hard. What is an operating system in the Linux context? Ring
> >>>>>> 0 will likely have the strictest set of policies of all the rings, so
> >>>>>> we want to keep it as small as possible, but it is more than a minimal
> >>>>>> install. These are the traits of rings in general and ring 0 in
> >>>>>> particular as I see it:
> >>>>>>
> >>>>>> 1. Ring 0 is a repository of rpm packages built in koji.
> >>>>>>
> >>>>>> 2. Ring 0 contains, but is not limited to, the minimal install of
> >>>>>> packages to go from Power On to a login prompt.
> >>>>
> >>>> In my conception, the "is limited to" set was Ring 0, and the thing you
> >>>> are calling Ring 0 was Ring 1, and then Envs and Stacks was Ring 2. I
> >>>> can live with ajusting things; just noting. For the rest of this
> >>>> message I will use your levels.
> >>>>
> >>>>>> 3. Ring 0 passes repoclosure on its own (Packages listed as hard
> >>>>>> "Requires" in a ring 0 spec file are themselves are implicitly ring 0).
> >>>>
> >>>> *nod*
> >>>>
> >>>>>> 4. Ring 0 is not self hosting. Packages listed in "BuildRequires" do
> >>>>>> not need to be members of Ring 1. This isn't ideal, but it's a
> >>>>>> practical consideration.
> >>>>
> >>>> When you say Ring 1 here, you mean Ring 0, right?
> >>>>
> >>>>
> >>>>>> 5. Ring membership is at the source package level, not the binary
> >>>>>> package. If one source package's binary/noarch sub-package is in ring
> >>>>>> 0, all sub-packages are in ring 0.
> >>>>
> >>>> Hmmmm. Are we sure about that? That means that one can't, for example,
> >>>> subpackage an optional feature with huge dependencies (or cascading
> >>>> explosion of dependencies) to keep them from being pulled into Ring 0.
> >>>>
> >>>> If this is the case, are we open to having *separate* Ring 1 packages
> >>>> built from the same source but with different options?
> >>>
> >>> This is what I replied to the original mail too, nobody answered ...
> >>
> >> I answered- did you miss it?
> >
> > Apparently never got it, I've had some annoying SPAM false positives
> > recently that involved fedora lists posts (I also missed a chunk of
> > flock mailing :-/)
>
> Yeah, I found a big chunk of flock email in my spam folder as well
> *after* the event. Sigh.
>
> Here's a pointer to the message:
>
> http://www.spinics.net/lists/fedora-devel/msg213539.html
>
> A quick cut&pate from that reply:
>
> [blc]
> >> 5. Ring membership is at the source package level, not the binary
> >> package. If one source package's binary/noarch sub-package is in ring
> >> 0, all sub-packages are in ring 0.
> > [simo]
> > Can you elaborate more on this point (5) ?
> >
> > I can totally see how a package may be critical and therefore
> deserve to
> > be in ring 0 and yet have optional features in terms of subpackages
> that
> > are not necessarily ring 0.
> > For example some library that offers optionally bindings for somewhat
> > rarely used languages (say ocaml). The subpackages for those bindings
> > shouldn't necessarily be ring 0.
> >
> > Or did I misunderstand the point ?
>
> [blc]
> Let's take gcc for example. The gcc package produces numerous
> subpackages including various compilers and libraries. One of those
> libraries, libgcc, is linked into nearly every dynamically linked ELF
> executable on your system (Run ldd to confirm), including /sbin/init.
> Since we really want /sbin/init to function we need to include
> libgcc in ring 0. Since ring membership is at a source level rather
> than a sub-package level, gcc is ring 0. There are other good
> arguments for the executable-generating tools living in ring 0, but
> this one illustrates the point.
>
> Ring policies might include things like how long the package is
> supported, what build system can generate it, what release cycle it is
> on, what the packaging guidelines are, what the updates rebase policy
> is, and so forth. These types of policies apply to source rpms as a
> whole. You can't apply one to gcc-c++ and another to libgcc.
>
> I think the question you are posing might be, in the context of gcc,
> might be: Does gcc-g++ need to appear in the same repository as
> libgcc? IE, can we decouple what we build from what is presented to
> users? If the threshold for must-include is repoclosure then no, we
> don't need to include gcc-c++, we only need to include libgcc and make
> gcc-c++ available elsewhere. In talking to Langdon about this, he had
> the idea of "ring 0" and "ring 0 prime" where prime is ring 0 plus
> something. We weren't sure what the something might be, but perhaps
> it could be the optional sub-packages.
Thanks I reached fore the archives when you mentioned you had replied.
It seem you do acknowledge there is a problem to be addressed with
optional sub-packages, that's enough for me.
Simo.
--
Simo Sorce * Red Hat, Inc * New York
More information about the devel
mailing list