Gentoo Archives: gentoo-dev

From: Mart Raudsepp <leio@g.o>
To: gentoo-dev@l.g.o
Cc: gentoo-desktop@l.g.o
Subject: [gentoo-dev] Reorganizing handling of target specific profiles (Was: Split desktop profile patches & news item for review)
Date: Mon, 08 Mar 2010 17:14:35
Message-Id: 1268068400.10824.36.camel@localhost
In Reply to: [gentoo-dev] Split desktop profile patches & news item for review by Theo Chatzimichos
1 Hello,
2
3 On Thu, 2010-03-04 at 16:52 +0200, Theo Chatzimichos wrote:
4 > Hello
5 > I have managed to split the desktop profile to gnome and kde submenus. The
6 > result can be found in kde-crazy overlay (not in layman) [1]
7
8 I think this whole approach of adding yet more subprofiles is highly
9 suboptimal. You are wanting to add at least 28 more subprofiles (the
10 number would reach the 80s if including hardened/mips, etc), whereas we
11 just had a sort-of discussion on how we have too many of them already at
12 http://archives.gentoo.org/gentoo-dev/msg_be393426980d12f341cabccfe5ab10aa.xml
13
14 Instead I think we should be improving "eselect profile" to support
15 multiple inheriting /etc/make.profile files in a user friendly fashion,
16 and in the end removing 249 subprofiles, instead of adding 28+.
17
18 Also, even after doing the addition of kde/gnome subprofiles, users
19 would like a better eselect profile for multi-inheriting, if they use
20 both GNOME and KDE on the same system (using both once in a while, or
21 multiple users on the same machine), as gnome/kde specific USE flags
22 would be only in their separate subprofiles then, and you want both.
23
24 So what I believe should be done instead of adding yet more subprofiles
25 is improving eselect profile to have good support for
26 multi-inheriting /etc/make.profile
27 With at least portage, one can have /etc/make.profile/ be a directory,
28 which is basically a user created profile in its own right, whereas with
29 the symlink to profile directory method, the toplevel profile used is
30 simply one in $PORTDIR/profiles/. Through that one can do a
31 multi-inheriting profile, so you could have a "parent" file in there,
32 with the following contents:
33
34 /usr/portage/profiles/default/linux/amd64/10.0
35 /usr/portage/profiles/targets/desktop
36
37 And you would effectively have the same as a symlink pointing
38 to /usr/portage/profiles/default/linux/amd64/10.0/desktop
39
40 Now as targets/ don't really do anything more than add USE flags to the
41 global set or package.use, we could support adding targets to the basic
42 release set for an arch with "eselect profile", so one could add both a
43 future gnome and a kde target, if desired. Or even also server flags as
44 well, if so desired by the user. And that without having to have all
45 those subprofiles per-arch/per-release profiles.
46
47 Once users are converted over to that method, there's no need for all
48 the target specific subprofiles we currently have. This at the last
49 count was 249 subprofiles for all the per-arch desktop/, server/ and
50 developer/ subprofiles, and we could remove them all, or simply phase
51 out when the 10.0 release phases out, replaced with a new release that
52 doesn't have the desktop/server/developer subprofiles in the first place
53 - giving a good migration and phase-out point.
54
55
56 So the steps for implementing this would be something like the
57 following:
58
59
60 * Improve eselect profile to have user friendly support for
61 multi-inheriting /etc/make.profile/, possibly special casing targets/ as
62 an add-on option/flag sort of thing.
63
64 * Test and stabilize the eselect-profile with those features
65
66 * Introduce the new gnome/kde targets and reorganize things. I would
67 suggest a new directory for this, that can have the options that
68 eselect-profile allows to add-on easily. For example basic-desktop,
69 gnome, kde, gentoo-developer, server, and so on - internally we can
70 inherit things as desired in there as an implementation detail (gnome
71 and kde can inherit from basic-desktop). Even adding lxde and xfce
72 targets is fine and simple, they can just inherit basic-desktop and
73 users don't need to find out that to get a target suitable for xfce,
74 they would have to go with the broad "desktop" or "basic-desktop"
75 target.
76 If "targets" is the best directory name for it, then that's fine too.
77 The current ones can be moved away to somewhere else, atomically with
78 tweaking all the inherits from default/ and hardened/ profiles at the
79 same time.
80
81 * Possibly have a new release set, that has no subprofiles from the
82 start, and can be accompanied with all the news and awareness raising it
83 takes to get users use this new method.
84
85 * All the things I forgot about.
86
87 * Eventually phase out completely the previous exponentially
88 increasing  subprofiles mess.
89
90 3) Profit.
91
92
93 Obviously I doubt to have time to work on it personally. I hope the guys
94 pushing for adding even more subprofiles can pick up this idea and
95 implement it, if discussion gives consensus this is a good way forward.
96
97
98
99 --
100 Mart Raudsepp
101 Gentoo Developer
102 Mail: leio@g.o
103 Weblog: http://blogs.gentoo.org/leio

Attachments

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

Replies