1 |
Sorry for the possible HTML email, this is from my phone.. |
2 |
|
3 |
|
4 |
> On May 29, 2014, at 10:20 PM, Duncan <1i5t5.duncan@×××.net> wrote: |
5 |
> |
6 |
> Anthony G. Basile posted on Thu, 29 May 2014 13:42:01 -0400 as excerpted: |
7 |
> |
8 |
>> With the number of ssl providers growing, like libressl, and with issues |
9 |
>> like bug #510974, I think its time we consider making this a uniform way |
10 |
>> of dealing with ssl providers in gentoo. We would proceed something |
11 |
>> like this: |
12 |
>> |
13 |
>> 1. Introduce a new USE_EXPAND called SSL which mirrors CURL_SSL --- |
14 |
>> becuase CURL_SSL is too provincial a name. |
15 |
>> |
16 |
>> 2. migrate curl and all its dependencies to the SSL use expand. |
17 |
>> |
18 |
>> 3. Migrate over all consumers of ssl to the new SSL use expand system. |
19 |
>> |
20 |
>> What do people think? |
21 |
> |
22 |
> What about an ssl.eclass to handle it? |
23 |
> |
24 |
> Obviously Peter's concern about packages that only support some of the |
25 |
> options would need to be taken into account, with some sort of variable, |
26 |
> say SSL_SUPPORTED, that would be set before eclass inheritance. Then the |
27 |
> eclass could formalize the general dependency logic and expose variables |
28 |
> of its own that could in turn be used to set package specific options. |
29 |
> |
30 |
> Or is package handling too individualized for an eclass to work well, |
31 |
> even with a mechanism to tell the eclass which ssl providers were |
32 |
> supported and further mechanisms to allow package specific logic where |
33 |
> required? |
34 |
|
35 |
USE_EXPAND generally works or is meant to work when all participating ebuilds are ok with working from the exact same set of flags. The only case I can think of otherwise right now is PYTHON_TARGETS, and even then it is generally considered that all packages can support at least a small subset of the flags. Even then, we have a second var (PYTHON_SINGLE_TARGET) for special case packages. |
36 |
|
37 |
If that is the case here, we should be ok with a similar concept as that brought by python-r1.eclass. However I fear that packages are still going to need to have fallback logic or preference-based flag ordering if we are going to avoid the need for a bunch of package.use entries on end user systems. |
38 |
|
39 |
Or is the plan to essentially do that anyways, ie, expect the SSL use_expand to only set one global default, and any deviations from that would be taken care of via package.use entries? |
40 |
|
41 |
I don't suppose PMS allows the order of the list of flags in a var to be relied upon? That could make this easier: |
42 |
|
43 |
SSL="polarssl openssl" |
44 |
|
45 |
... would use polarssl first and foremost but use OpenSSL iff polarssl isn't supported by the package (assuming OpenSSL is); the eclass would handle the preference logic that would make the secondary flags be ignored in favour of the primary one. |
46 |
|
47 |
Thoughts? |
48 |
|
49 |
|
50 |
> |
51 |
> -- |
52 |
> Duncan - List replies preferred. No HTML msgs. |
53 |
> "Every nonfree program has a lord, a master -- |
54 |
> and if you use the program, he is your master." Richard Stallman |
55 |
> |
56 |
> |