1 |
On Fri, 30 Oct 2015 23:40:28 +0100 |
2 |
hasufell <hasufell@g.o> wrote: |
3 |
|
4 |
> On 10/30/2015 10:16 PM, Anthony G. Basile wrote: |
5 |
> > On 10/30/15 3:35 PM, hasufell wrote: |
6 |
> >> On 10/30/2015 06:55 PM, Michał Górny wrote: |
7 |
> >>> We have no way of saying 'I prefer polarssl, then gnutls, then |
8 |
> >>> libressl, and never openssl'. |
9 |
> >> I don't think this is something that can be reasonably supported |
10 |
> >> and it sounds awfully automagic. And I don't see how this is |
11 |
> >> possible right now, so I'm not really sure what you expect to get |
12 |
> >> worse. |
13 |
> >> |
14 |
> >> E.g. -gnutls pulling in dev-libs/openssl is not really something |
15 |
> >> you'd expect. If we go for provider USE flags, then things become |
16 |
> >> consistent, explicit and unambiguous. The only problem is our |
17 |
> >> crappy implementation of providers USE flags via REQUIRED_USE. |
18 |
> >> |
19 |
> > I'm not sure what mgorny has in mind, but the problem I see with |
20 |
> > saying I want just X to be my provider system wide is that some |
21 |
> > pkgs build with X others don't, other pkgs might need a different |
22 |
> > provider. So it might make sense to order them in terms of |
23 |
> > preference: X1 > X2 > X3 ... and then when emerging a package, the |
24 |
> > first provider in the preference list that works is pulled in for |
25 |
> > that package. |
26 |
> |
27 |
> Isn't that basically what the proposal B already was, except that we |
28 |
> don't use REQUIRED_USE for it but some sort of pkg_setup/pkg_pretend |
29 |
> function? I don't see how those ideas even conflict. |
30 |
> |
31 |
|
32 |
Well, not exactly. If I understood them right, mgorny and blueness are |
33 |
asking for a user-supplied preference list (e.g. "I want packages to |
34 |
link with libressl if possible, gnutls otherwise"), not an |
35 |
ebuild-supplied preference list ("This package prefers gnutls, but |
36 |
openssl is also supported"). |
37 |
|
38 |
Side note: These ebuild-side preferences are used by some ebuilds (e.g. |
39 |
cyrus-sasl, it uses gdbm if both gdbm and berkdb use flags are |
40 |
enabled), but for ssl, we might want to specify "REQUIRED_USE = ^^ |
41 |
(..)" so it's possible to use USE dependencies in order to avoid |
42 |
namespace conflicts. If there's no REQUIRED_USE, |
43 |
"somelibrary[libressl]" might be satisfied even though somelibrary is |
44 |
actually linked to openssl. |
45 |
|
46 |
|
47 |
-- |
48 |
Regards, |
49 |
Luis Ressel |