Gentoo Archives: gentoo-dev

From: Luis Ressel <aranea@×××××.de>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] ssl vs openssl vs libressl vs gnutls USE flag foo
Date: Fri, 30 Oct 2015 23:06:53
Message-Id: 20151031000637.45b06e77@gentp.lnet
In Reply to: Re: [gentoo-dev] ssl vs openssl vs libressl vs gnutls USE flag foo by hasufell
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