Gentoo Archives: gentoo-dev

From: Peter Stuge <peter@×××××.se>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] Discontinuing LibreSSL support?
Date: Tue, 29 Dec 2020 13:51:42
Message-Id: 20201229135136.1940.qmail@stuge.se
In Reply to: Re: [gentoo-dev] [RFC] Discontinuing LibreSSL support? by David Seifert
1 David Seifert wrote:
2 > > > I mean, you have to explicitly support the choice in ebuilds,
3 > > > and this means making things even harder for newcomers.
4 > >
5 > > pkg-config/pkgconf and .pc files can help with this part, taking care
6 > > of all abstraction if/when downstream uses a libressl.pc.
7 >
8 > As we have learned from the ncurses[tinfo] debacle, 80% of build systems
9 > don't use the .pc files, and just guess "-lssl" flags and a bunch of
10 > include dirs.
11
12 Did the debacle actually involve -lssl ?
13
14 I guess that it depends on the particular library - with an old library
15 such as ncurses I can imagine that .pc is much less established, and
16 I have indeed seen pretty ugly OpenSSL detection in configure.acs,
17 they could still remain, and would then simply never catch libressl,
18 I think that would be fine.
19
20
21 > > > The big problem is that (unless I'm mistaken) we won't be able to
22 > > > load LibreSSL and OpenSSL to the same executable.
23 > >
24 > > I'd suggest investigating whether symbol versioning could help with
25 > > this, or if the only way forward would indeed be to require some symbol
26 > > mangling/rewriting.
27 >
28 > While this sounds like a theoretical solution, it isn't tractable because
29 > 1. We're inventing our own ABI that is incompatible with everyone else's
30
31 ABI for a given library doesn't neccessarily matter beyond the
32 individual system, does it?
33
34 For something like reproducible builds of course it does.
35
36
37 > 2. We'd have to maintain a huge swamp of downstream patches
38
39 Nono, no patches of course, it would have to be automatic, if only for the
40 local system.
41
42
43 > 3. ABI can still break even with perfect symbol versioning
44
45 Oh? This may be unrelated, but can you tell more or provide a pointer?
46
47
48 Thanks!
49
50 //Peter