1 |
On 10/28/15 7:16 AM, hasufell wrote: |
2 |
> On 10/28/2015 07:23 AM, Ryan Hill wrote: |
3 |
>> Agreed. If there's one choice then "ssl" should be used. openssl/libressl/etc |
4 |
>> should really be considered sub-flags of ssl. |
5 |
|
6 |
This is what I did with curl. USE=ssl means one and exactly one ssl |
7 |
provider must be specified. I suggested making it a model gentoo wide, |
8 |
but there were criticisms, I forget what, but the made sense to me at |
9 |
teh time. |
10 |
|
11 |
>> |
12 |
>> I really wish we had some way of specifying this to make things clearer to the |
13 |
>> user, so they could see exactly how these flags interact with each other. |
14 |
>> Something like (emerge -pv): |
15 |
>> |
16 |
> The problem here is that we introduced REQUIRED_USE foo for these cases |
17 |
> which is again highly ambigous instead of making the PM aware that this |
18 |
> is an actual sub-USE flag. |
19 |
|
20 |
A properly designed sub-USE flag would be useful here and clearly better |
21 |
than our REQUIRED_USE. I think REQUIRED_USE is fine for heterogeneous |
22 |
cases, but not when you have something like curl where you can either |
23 |
turn ssl on or off. If it is off, nothing more needs to be specified, |
24 |
if it is on, then you must further specify one and exactly one ssl provider. |
25 |
|
26 |
> |
27 |
> This is outside of the scope of this thread, but there are already |
28 |
> distros that have fixed this: |
29 |
> 1. NixOS [0] with truly declarative configuration format, e.g. something |
30 |
> like: |
31 |
> packages.ssl.provider = openssl; |
32 |
> |
33 |
> or somesuch (just an example) |
34 |
> |
35 |
> 2. Exherbo partly [1] with providers syntax: |
36 |
> */* providers: -openssl libressl |
37 |
> |
38 |
> and the exheres would then do something like: |
39 |
> DEPENDENCIES=" |
40 |
> build+run: |
41 |
> providers:openssl? ( dev-libs/openssl:0 ) |
42 |
> providers:libressl? ( dev-libs/libressl ) |
43 |
> " |
44 |
> |
45 |
> which is a lot cleaner than USE_EXPAND + REQUIRED_USE, which still can |
46 |
> have arbitrary meanings. |
47 |
> |
48 |
> But NIH will prevent us from learning here I guess. |
49 |
> |
50 |
> |
51 |
> [0] https://nixos.org/nixos/manual/ |
52 |
> [1] http://exherbo.org/docs/eapi/providers-and-virtuals.html |
53 |
> |
54 |
|
55 |
|
56 |
-- |
57 |
Anthony G. Basile, Ph.D. |
58 |
Gentoo Linux Developer [Hardened] |
59 |
E-Mail : blueness@g.o |
60 |
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA |
61 |
GnuPG ID : F52D4BBA |