Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: Joshua Kinard <kumba@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] new profile layout with flavors and mix-ins
Date: Thu, 03 Jul 2014 07:32:36
Message-Id: 20140703093213.7ff896af@pomiot.lan
In Reply to: Re: [gentoo-dev] new profile layout with flavors and mix-ins by Joshua Kinard
1 Dnia 2014-07-03, o godz. 02:18:23
2 Joshua Kinard <kumba@g.o> napisał(a):
3
4 > [...]
5 >
6 > And so on. The goal was to have profiles/ be extremely flat, with limited
7 > nesting only for categorization purposes. Each component would contain all
8 > of the information specific to that component, and rely on OOP-like
9 > inheritance to override parent-level variables only within that component
10 > (although, <arch> and <kernel> would have to be a little bit more broad in
11 > scope).
12
13 Another sub-thread, the same question: how do you handle information
14 that needs to be applied to the intersection of the profiles? CHOST for
15 amd64 FreeBSD, for example.
16
17 > PROFILE also had a set order for the first few pieces, if only to make
18 > parsing and building the profile stack saner for the Portage developers:
19 > PROFILE="base:<KERNEL>:<ARCH>[:<SUBARCH>]:<LIBC>:<EVERYTHING_ELSE>"
20 >
21 > base - Core Gentoo/Portage/whatever information/vars/foobar/kittens
22
23 I'm against plain 'base' since it quickly becomes a mess. I would
24 prefer having flavor-specific bases, like for example arch/base to mask
25 stuff available only in 1/2 arches and revert it in another arch/.
26
27 > kernel - Specifies the OS kernel. At the time, only Linux existed, but
28 > I *think* Debian was eyeballing kFreeBSD at the time. So I *think*
29 > I accounted for it back then.
30
31 What about kernel-ABI intersection? What about Prefix?
32
33 > arch - Machine arch-specific generic information -- doesn't handle
34 > lower-level things like ISAs/ABIs/Endian, etc.
35 >
36 > subarch - Defines items specific given to given subarch of a main arch.
37 > Items under this directory would carry their parent arch's
38 > name for clarity only. Again, at the time, MIPS would have been
39 > the only real user of this, and, back then, it would've dealt
40 > with SGI-machine-specific packages and USE flags, such as
41 > differentiating an ip32 machine from an ip27 machine or a
42 > cobalt. Now that amd64/x86_64 is considering its own form of
43 > n32 (x32), that would go here, and I imagine arm would
44 > make heavy use of it as well.
45
46 This is a no-go for multilib support. We need to work on a consistent
47 arch profile tree, not more splitting.
48
49 > libc - Defines the main C library used. A bit redundant for *BSD, because
50 > they really only have one, but might help if we ever add k*BSD
51 > support (such as freebsd/glibc-based or such). For Linux...could be
52 > tricky, since there are so many libc possibilities there. I feel it
53 > fits better getting defined after <SUBARCH>, especially in the case
54 > of MIPS.
55
56 I think you need to handle kernel & libc in the same group.
57
58 > eapi - EAPI didn't exist back when this topic was visited. Basically,
59 > everything was EAPI=0 and there was only Portage (Paludis nor
60 > pkgcore had been invented yet).
61
62 And what is this supposed to do?
63
64 > releases - I don't think this existed back then. How it'd operate
65 > nowadays, I have no idea. Probably would contain
66 > version-specific maskings for specific @system packages
67 > to facilitate upgrading, and help us if we ever tried to cut
68 > actual, fixed release points again (like what FreeBSD does
69 > w/ -RELEASE-x.y)
70
71 I don't think releases would make any sense without heavy intersection
72 with other profiles.
73
74 --
75 Best regards,
76 Michał Górny

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] new profile layout with flavors and mix-ins Joshua Kinard <kumba@g.o>