1 |
On 02/02/2017 01:01 PM, Rich Freeman wrote: |
2 |
> On Thu, Feb 2, 2017 at 11:25 AM, Michael Orlitzky <mjo@g.o> wrote: |
3 |
>> |
4 |
>> If (base == minimal), then all of the upstream defaults need to be added |
5 |
>> to package.use for the upstream-defaults profile. That's bad, |
6 |
> |
7 |
> I'll go further and say that it is unacceptably bad. |
8 |
> |
9 |
|
10 |
Only if anyone wants an upstream-defaults profile. But nobody's asked |
11 |
for one, in contrast with the large number of users who want minimal. |
12 |
|
13 |
|
14 |
> Is there a better way we can have our cake and eat it too? I'll admit |
15 |
> that a huge package.use on the minimal profile isn't a whole lot |
16 |
> better than a huge package.use on all the other profiles. |
17 |
|
18 |
Every important upstream default is already enabled in some profile. If |
19 |
dropping a particular IUSE default breaks desktop systems, then that |
20 |
flag belongs enabled in the desktop profile. If it breaks every system, |
21 |
then let's keep it default. |
22 |
|
23 |
|
24 |
> Do we need another form of syntax in individual ebuilds to try to |
25 |
> separate out the various cases you cite? Does anybody care to |
26 |
> actually suggest one? |
27 |
|
28 |
Definitely not. I was hoping to simplify things, not complicate them. We |
29 |
have a list of flags that can be enabled for each package. As a general |
30 |
principle, it makes sense to either (a) disable them all by default, or |
31 |
(b) enable them all by default. Having what is essentially a random |
32 |
selection enabled by default for each package is chaos. |
33 |
|
34 |
|
35 |
> I still think that we shouldn't encourage users to lightly deviate |
36 |
> from all the upstream defaults. |
37 |
|
38 |
Deviating from upstream defaults is why we have USE flags in the first |
39 |
place. No one really wants the upstream defaults, they want |
40 |
|
41 |
(nothing) + (what their profile provides) + (what they enable), |
42 |
|
43 |
not least of all because that assumption is how they came up with the |
44 |
list of flags in (what they enable) in the first place. |
45 |
|
46 |
If dropping an IUSE default hurts some profile, then stick the default |
47 |
in that profile. Nothing breaks, and it's not too much work, and we get |
48 |
back to a sane system of profile inheritance rather than having every |
49 |
ebuild and profile trying to XOR one another. |