Sorry for the possible HTML email, this is from my phone..

> On May 29, 2014, at 10:20 PM, Duncan <1i5t5.dun...@cox.net> wrote:
> 
> Anthony G. Basile posted on Thu, 29 May 2014 13:42:01 -0400 as excerpted:
> 
>> With the number of ssl providers growing, like libressl, and with issues
>> like bug #510974, I think its time we consider making this a uniform way
>> of dealing with ssl providers in gentoo.  We would proceed something
>> like this:
>> 
>> 1. Introduce a new USE_EXPAND called SSL which mirrors CURL_SSL ---
>> becuase CURL_SSL is too provincial a name.
>> 
>> 2. migrate curl and all its dependencies to the SSL use expand.
>> 
>> 3. Migrate over all consumers of ssl to the new SSL use expand system.
>> 
>> What do  people think?
> 
> What about an ssl.eclass to handle it?
> 
> Obviously Peter's concern about packages that only support some of the 
> options would need to be taken into account, with some sort of variable, 
> say SSL_SUPPORTED, that would be set before eclass inheritance.  Then the 
> eclass could formalize the general dependency logic and expose variables 
> of its own that could in turn be used to set package specific options.
> 
> Or is package handling too individualized for an eclass to work well, 
> even with a mechanism to tell the eclass which ssl providers were 
> supported and further mechanisms to allow package specific logic where 
> required?

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.

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.

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?

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:

SSL="polarssl openssl" 

... 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.

Thoughts?


> 
> -- 
> Duncan - List replies preferred.   No HTML msgs.
> "Every nonfree program has a lord, a master --
> and if you use the program, he is your master."  Richard Stallman
> 
> 

Reply via email to