Gentoo Archives: gentoo-releng

From: Kumba <kumba@g.o>
To: gentoo-releng@l.g.o
Subject: Re: [gentoo-releng] Profile Reorganization
Date: Sat, 05 Nov 2005 02:12:15
Message-Id: 436C14E5.6010400@gentoo.org
In Reply to: [gentoo-releng] Profile Reorganization by Chris Gianelloni
1 Chris Gianelloni wrote:
2 > Alright, I've had this idea for ways to reorganize the profiles for some
3 > time now. I figured now would be as good a time as any to introduce it
4 > here, since we probably do more profile work than anyone else. Once
5 > we've got a decent idea hashed out, we can GLEP it and make the changes
6 > in the tree.
7 >
8 > Basically, it is a reorganization of the profiles to make more sense.
9 >
10 > Profiles would consist of:
11 >
12 > $type/$kernel/$userland/$arch/($version)
13 >
14 > Now, type would be the main type of profile. To match with what we have
15 > now, we would have "default" which is the default release profile,
16 > "hardened" and "uclibc". We would keep the "base" profile, where the
17 > globally-affecting things would remain. The kernel would be the kernel
18 > in use. I believe that currently, we would have "linux", "darwin", and
19 > "freebsd". The userland would be "gnu" or "bsd". Of course, arch is
20 > pretty obvious. Everything below arch would be optional profiles. For
21 > Release Engineering, this would be where we would put our versioned
22 > release profiles, along with any other sub-profiles.
23 >
24 > All that this really accomplishes it a bit of cleanup of the profiles,
25 > but also allows for greater support of more interesting profiles, such
26 > as a hardened Linux profile with a BSD userland on Alpha.
27
28 I would be more inclined to pester the portage folk to see about getting a more
29 modular profile design (which I originally suggested when stacking support was
30 being discussed) that allows plugging n' playing.
31
32 i.e., Take the original idea I used for a variable in make.conf:
33
34 EPROFILE="default:linux:mips:uclibc:selinux:ip30"
35
36 Portage would then import the appropriate profile modules listed above and
37 construct the profile that will be used on the system.
38
39 In /usr/portage/profiles, we'd have modules defined that'd specify the base
40 properties of that given profile, and probably other things, like identifying
41 what level a profile is at, with 'default', 'linux', and 'uclibc' being your
42 higher-level profiles since they follow the $type, $kernel, $userland design.
43 Under those comes the $arch level ('mips') and then any $feature profiles, like
44 'hardened', 'selinux', or in mips' case, machines ('ip22', etc). Also included
45 would be variables indicating what modules cannot be mixed together (i.e.,
46 'linux' can't import a 'freebsd' or 'darwin' module).
47
48 Doing this I think would allow for a much cleaner design of profiles than
49 currently exists. As it stands, since we use both uclibc and glibc on mips,
50 we'd have to re-replicate the entire mips profile subtrees under both
51 default-linux/mips and uclibc/mips, and optionally under say, hardened/mips
52 (once its features are tested). Using a more pluggable system will reduce this
53 complexity and maintaince hassle significantly, I think.
54
55 This pretty much entails a complete portage re-write I think...unsure on the
56 specifics, but versus having to maintain a ton of profile trees, might be an
57 idea worth discussing.
58
59
60 --Kumba
61
62 --
63 Gentoo/MIPS Team Lead
64 Gentoo Foundation Board of Trustees
65
66 "Such is oft the course of deeds that move the wheels of the world: small hands
67 do them because they must, while the eyes of the great are elsewhere." --Elrond
68 --
69 gentoo-releng@g.o mailing list

Replies

Subject Author
Re: [gentoo-releng] Profile Reorganization Ciaran McCreesh <ciaranm@g.o>