1 |
Yeah the "soft" thing was meant as "do this unless something breaks, then |
2 |
do it otherwise" |
3 |
|
4 |
On Wed, Feb 10, 2016 at 8:57 PM, Kent Fredric <kentfredric@×××××.com> wrote: |
5 |
|
6 |
> On 11 February 2016 at 15:51, Rich Freeman <rich0@g.o> wrote: |
7 |
> > In this case you just wouldn't enable python 2.7 support, but you |
8 |
> > wouldn't disable it either. Portage would just pull it in where it is |
9 |
> > needed. |
10 |
> |
11 |
> |
12 |
> But you still need a mechanism in place if you *dont* want that to happen. |
13 |
> |
14 |
> I might choose to forbid python2.7 support, and portage really |
15 |
> shouldn't "auto enable" python 2.7 support if I've explicitly |
16 |
> indicated I don't want python 2.7 support. |
17 |
> |
18 |
> Unless of course you're suggesting "USE=-python_targets_python2_7" |
19 |
> would not be "auto-enableable" |
20 |
> |
21 |
> But then you're *still* requiring a tri-state USE. |
22 |
> |
23 |
> USE="-foo" + IUSE="+foo" => "-foo" => autouse enables foo if required |
24 |
> USE="" + IUSE="+foo" => "foo" => standard EFFECTIVE_USE="foo" |
25 |
> USE="foo" + IUSE = "+foo" => "foo" => standard EFFECTIVE_USE="foo" |
26 |
> USE="-foo" + IUSE="foo" => "-foo" => autouse enables foo if required |
27 |
> USE="" + IUSE="foo" => "-foo" => autouse enables foo if required |
28 |
> USE="foo" + IUSE="foo" => "foo" => standard EFFECTIVE_USE="foo" |
29 |
> |
30 |
> |
31 |
> So the logic composing USE + IUSE has to change in generating the |
32 |
> effective USE set so that USE + IUSE can emit a 3rd and 4th state. |
33 |
> |
34 |
> USE="-foo" + IUSE="+foo" => "-foo!!" => autouse fails if foo is required |
35 |
> USE="" + IUSE="+foo" => "foo" => standard |
36 |
> EFFECTIVE_USE="foo", auto-unuses foo if blocked by a dep |
37 |
> USE="foo" + IUSE = "+foo" => "foo!!" => standard EFFECTIVE_USE="foo", |
38 |
> fails if foo is "blocked" by a dep |
39 |
> USE="-foo" + IUSE="foo" => "-foo!!" => autouse fails if foo is required |
40 |
> USE="" + IUSE="foo" => "-foo" => autouse enables foo if required |
41 |
> USE="foo" + IUSE="foo" => "foo!!" => standard EFFECTIVE_USE="foo", |
42 |
> fails if "foo" is blocked by a dep. |
43 |
> |
44 |
> |
45 |
> Mentally keeping track of this accounting magic would be complicating |
46 |
> matters. |
47 |
> |
48 |
> -- |
49 |
> Kent |
50 |
> |
51 |
> KENTNL - https://metacpan.org/author/KENTNL |
52 |
> |
53 |
> |