Gentoo Archives: gentoo-dev

From: Kent Fredric <kentnl@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Guidelines for IUSE defaults
Date: Sat, 04 Feb 2017 22:14:29
Message-Id: 20170205111343.155c404a@katipo2.lan
In Reply to: Re: [gentoo-dev] Guidelines for IUSE defaults by "William L. Thomson Jr."
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.