public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: Joshua Kinard <kumba@gentoo.org>
Cc: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] new profile layout with flavors and mix-ins
Date: Thu, 3 Jul 2014 09:32:13 +0200	[thread overview]
Message-ID: <20140703093213.7ff896af@pomiot.lan> (raw)
In-Reply-To: <53B4F5AF.9020600@gentoo.org>

[-- Attachment #1: Type: text/plain, Size: 3519 bytes --]

Dnia 2014-07-03, o godz. 02:18:23
Joshua Kinard <kumba@gentoo.org> napisał(a):

> [...]
>
> And so on.  The goal was to have profiles/ be extremely flat, with limited
> nesting only for categorization purposes.  Each component would contain all
> of the information specific to that component, and rely on OOP-like
> inheritance to override parent-level variables only within that component
> (although, <arch> and <kernel> would have to be a little bit more broad in
> scope).

Another sub-thread, the same question: how do you handle information
that needs to be applied to the intersection of the profiles? CHOST for
amd64 FreeBSD, for example.

> PROFILE also had a set order for the first few pieces, if only to make
> parsing and building the profile stack saner for the Portage developers:
>    PROFILE="base:<KERNEL>:<ARCH>[:<SUBARCH>]:<LIBC>:<EVERYTHING_ELSE>"
> 
> base - Core Gentoo/Portage/whatever information/vars/foobar/kittens

I'm against plain 'base' since it quickly becomes a mess. I would
prefer having flavor-specific bases, like for example arch/base to mask
stuff available only in 1/2 arches and revert it in another arch/.

> kernel - Specifies the OS kernel.  At the time, only Linux existed, but
>          I *think* Debian was eyeballing kFreeBSD at the time.  So I *think*
>          I accounted for it back then.

What about kernel-ABI intersection? What about Prefix?

> arch - Machine arch-specific generic information -- doesn't handle
>        lower-level things like ISAs/ABIs/Endian, etc.
> 
> subarch - Defines items specific given to given subarch of a main arch.
>           Items under this directory would carry their parent arch's
>           name for clarity only.  Again, at the time, MIPS would have been
>           the only real user of this, and, back then, it would've dealt
>           with SGI-machine-specific packages and USE flags, such as
>           differentiating an ip32 machine from an ip27 machine or a
>           cobalt.  Now that amd64/x86_64 is considering its own form of
>           n32 (x32), that would go here, and I imagine arm would
>           make heavy use of it as well.

This is a no-go for multilib support. We need to work on a consistent
arch profile tree, not more splitting.

> libc - Defines the main C library used.  A bit redundant for *BSD, because
>        they really only have one, but might help if we ever add k*BSD
>        support (such as freebsd/glibc-based or such).  For Linux...could be
>        tricky, since there are so many libc possibilities there.  I feel it
>        fits better getting defined after <SUBARCH>, especially in the case
>        of MIPS.

I think you need to handle kernel & libc in the same group.

> eapi - EAPI didn't exist back when this topic was visited.  Basically,
>        everything was EAPI=0 and there was only Portage (Paludis nor
>        pkgcore had been invented yet).

And what is this supposed to do?

> releases - I don't think this existed back then.  How it'd operate
>            nowadays, I have no idea.  Probably would contain
>            version-specific maskings for specific @system packages
>            to facilitate upgrading, and help us if we ever tried to cut
>            actual, fixed release points again (like what FreeBSD does
>            w/ -RELEASE-x.y)

I don't think releases would make any sense without heavy intersection
with other profiles.

-- 
Best regards,
Michał Górny

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 949 bytes --]

  parent reply	other threads:[~2014-07-03  7:32 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-02 15:44 [gentoo-dev] new profile layout with flavors and mix-ins William Hubbs
2014-07-02 17:54 ` Michał Górny
2014-07-02 18:10   ` Rich Freeman
2014-07-02 18:32     ` Anthony G. Basile
2014-07-02 18:35       ` Rich Freeman
2014-07-02 18:41     ` Rick "Zero_Chaos" Farina
2014-07-02 19:07       ` Anthony G. Basile
2014-07-02 19:19         ` Rick "Zero_Chaos" Farina
2014-07-02 19:30           ` Rich Freeman
2014-07-03 14:55         ` Andreas K. Huettel
2014-07-03 23:09       ` Tom Wijsman
2014-07-03 23:35         ` Rich Freeman
2014-07-03  6:18   ` Joshua Kinard
2014-07-03  7:00     ` Michael Haubenwallner
2014-07-03  8:47       ` Joshua Kinard
2014-07-03 16:06         ` Ian Stakenvicius
2014-07-03  8:53       ` [gentoo-dev] " Duncan
2014-07-03  9:01       ` Martin Vaeth
2014-07-03  7:32     ` Michał Górny [this message]
2014-07-03  8:21       ` [gentoo-dev] " Joshua Kinard

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=20140703093213.7ff896af@pomiot.lan \
    --to=mgorny@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    --cc=kumba@gentoo.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox