1 |
On Wed, Feb 10, 2016 at 11:57 PM, Kent Fredric <kentfredric@×××××.com> wrote: |
2 |
> On 11 February 2016 at 15:51, Rich Freeman <rich0@g.o> wrote: |
3 |
>> In this case you just wouldn't enable python 2.7 support, but you |
4 |
>> wouldn't disable it either. Portage would just pull it in where it is |
5 |
>> needed. |
6 |
> |
7 |
> But you still need a mechanism in place if you *dont* want that to happen. |
8 |
>... |
9 |
>> Unless of course you're suggesting "USE=-python_targets_python2_7" |
10 |
> would not be "auto-enableable" |
11 |
|
12 |
That is correct. |
13 |
|
14 |
> |
15 |
> But then you're *still* requiring a tri-state USE. |
16 |
|
17 |
Sure - it would be the same as how package-versions work today. |
18 |
|
19 |
Stick it in world, and you're pulling it in. |
20 |
|
21 |
Stick in in mask, and you're keeping it out. |
22 |
|
23 |
Don't do anything, and portage does what it thinks is best, guided by |
24 |
profiles/etc. |
25 |
|
26 |
> USE="" + IUSE="foo" => "-foo" => autouse enables foo if required |
27 |
|
28 |
This is the only thing that would change. In all the other scenarios |
29 |
you described the behavior would be the same as today. If you set |
30 |
USE=-foo then you'll get the same errors you get today. |
31 |
|
32 |
Now, auto-unmask could still propose sticking USE=+foo in your |
33 |
package.use if you have USE=-foo in your make.conf, which is already |
34 |
the behavior today. If you've made any explicit USE setting in your |
35 |
configuration, portage would never ignore it, but only suggest that |
36 |
you change it. |
37 |
|
38 |
Perhaps it might make sense to introduce a new ~foo setting which |
39 |
undoes a +/-foo in make.conf but doesn't set it either + or - in |
40 |
package.use, allowing the setting to revert to the default behavior. |
41 |
That would actually be useful independent of lazy use flags, but would |
42 |
be more useful with lazy use flags. |
43 |
|
44 |
> |
45 |
> Mentally keeping track of this accounting magic would be complicating matters. |
46 |
> |
47 |
|
48 |
I think you're overthinking this. It is completely analogous as to |
49 |
what portage already does with package-versions. I don't have libjpeg |
50 |
in my world file, and yet portage installs it, and I don't think about |
51 |
it either way. If I wanted to pin a specific version of it or mask it |
52 |
I could, but of course the preference of most users is to micromanage |
53 |
as little as possible. |
54 |
|
55 |
Basically lazy use flags is intended for users to minimize the size of |
56 |
their package.use files, just as they already minimize the size of |
57 |
their @world and package.mask files today. |
58 |
|
59 |
-- |
60 |
Rich |