Gentoo Archives: gentoo-dev

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: ssl vs openssl vs libressl vs gnutls USE flag foo
Date: Wed, 28 Oct 2015 11:23:19
Message-Id: 5630B019.5070805@gentoo.org
In Reply to: Re: [gentoo-dev] Re: ssl vs openssl vs libressl vs gnutls USE flag foo by hasufell
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

Replies