1 |
On Sat, 04 Feb 2017 16:05:50 -0500 |
2 |
"William L. Thomson Jr." <wlt-ml@××××××.com> wrote: |
3 |
|
4 |
> Putting increased requirements on the maintainers may be demotivating, and |
5 |
> create other problems. New profile added they are not aware of. Now they have |
6 |
> to go add IUSE defaults etc. There are a fair amount of profiles. |
7 |
> |
8 |
> > For instance, perhaps one specific profile might be the "I Just want a |
9 |
> > kde/qt desktop of some kind, I don't care how", and thats the point of |
10 |
> > that profile, to deliver that specific experience. |
11 |
> > |
12 |
> > But the individual packages will still have to decide how to best |
13 |
> > satisfy that profile, which in some cases might end up preferring qt4 |
14 |
> > instead of qt5 for instance (perhaps out of necessity) |
15 |
> > |
16 |
> > Maintainers of individual packages have the most knowledge about how to |
17 |
> > best deliver that specific package, but maintainers of profiles have |
18 |
> > the best understanding of what people want to see. |
19 |
> |
20 |
> Yes has to be a balance. I do not believe package maintainers will always |
21 |
> share the vision of the profiles. |
22 |
> |
23 |
> Said another way, if defaults were sane enough, would profiles be necessary? |
24 |
> |
25 |
> Profiles are kind of an extra added benefit to the end user, and those making |
26 |
> the profiles. Mostly a benefit for the end user. There isn't much benefit to the |
27 |
> package maintainer. I could not really see anything that would give them |
28 |
> reason to spend their time on something that would not benefit them. |
29 |
|
30 |
I think a key concept here would be the thoughts that: |
31 |
|
32 |
a. By default, all packages are simply part of the "default profile", which doesn't enforce |
33 |
any automagical constraints. |
34 |
|
35 |
and that |
36 |
|
37 |
b. These kinds of profiles should not default to being universally inclusive, and instead |
38 |
rely on a concept of "package membership", where constraints of "automagically work" |
39 |
is only required for included packages and their dependencies. |
40 |
|
41 |
Packages that are not part of any profile and are not dependencies of any profile |
42 |
are in the Wild West of packages, and this is OK. |
43 |
|
44 |
And it is part of the profile maintainers job to add packages to that profile, |
45 |
while negotiating with the maintainer of the package how to make it work. |
46 |
|
47 |
That way, only once a package has been explicitly added to a profile does the maintainer |
48 |
of the package have to exercise more concern about it. |
49 |
|
50 |
And perhaps we can have rough guidelines for "Care about this profile" and |
51 |
"Don't care about this profile" like we informally do with arch-profiles. |
52 |
|
53 |
( Where the "don't care about" implies "Care if you want to, but if you don't, the profile |
54 |
maintainer has to keep things working if you break them ) |
55 |
|
56 |
This approach means the workload of profile-integration doesn't scale exponentially over portage |
57 |
as an X-packages * Y-profiles equation, and it only scales as fast as each profile necessitates it. |
58 |
|
59 |
That doesn't mean users can't install things outside the profile if they opt for a certain profile. |
60 |
|
61 |
It just means that if a user selects a profile, everything within that profiles inherent subgraph |
62 |
will be cohesive. |
63 |
|
64 |
But they will still have to get their adult-pants on if they want to stray from that subgraph. |