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 |