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 |