1 |
Alexis Ballier posted on Wed, 31 May 2017 09:32:57 +0200 as excerpted: |
2 |
|
3 |
>> For example: |
4 |
>> |
5 |
>> foo? ( bar ) |
6 |
>> |
7 |
>> would mean 'if you have USE=foo, then USE=bar is enabled as well'. Not |
8 |
>> 'find some random solution which satisfies this'. In other words, here |
9 |
>> changing USE=foo into USE=-foo is not an acceptable solution. |
10 |
> |
11 |
> |
12 |
> What if I specifically set USE=-bar in make.conf ? Do we really want PM |
13 |
> to override that without telling me ? |
14 |
|
15 |
Yes, override (tho the telling me bit would be up to the PM |
16 |
implementation and could be as indirect as simply showing the new pulled- |
17 |
in package in ask/pretend) because USE flags always control options and |
18 |
don't disable mandatory requirements, which is what this scenario is |
19 |
ultimately describing, even if it's /conditional/ mandatory. |
20 |
|
21 |
If a user cares enough about not wanting whatever USE=bar pulls in, |
22 |
they'll notice the pull-in in ask/pretend and abort the merge, |
23 |
investigating and changing config or deciding they don't need that |
24 |
package after all, just as they do with mandatory pull-ins now. |
25 |
|
26 |
As for more direct indications, portage could and I'd expect would |
27 |
indicate the USE override the same as it does for profile-masked and new- |
28 |
version-deleted USE flags now, putting them in parentheses so the user |
29 |
knows they no longer apply. I'm not familiar enough with other PMs to |
30 |
know if/how they indicate such things, but I'd imagine they could |
31 |
similarly treat it to the way they do masked flags today. After all, |
32 |
it's simply another method of masking, only in this case it's dynamic, by |
33 |
the PM at solve time. |
34 |
|
35 |
-- |
36 |
Duncan - List replies preferred. No HTML msgs. |
37 |
"Every nonfree program has a lord, a master -- |
38 |
and if you use the program, he is your master." Richard Stallman |