On 2 August 2010 12:11, Brian Harring <ferri...@gmail.com> wrote:
> On Mon, Aug 02, 2010 at 11:56:08AM +0200, Matti Bickel wrote:
>> Hi folks,
>>
>> I've been told that my use of eblits in dev-lang/php is something I
>> should get rid of as soon as possible. Suggested alternative by ferring:
>> use elibs.

There's a couple of hundred lines of repeated metadata between
php-5.3.2 and php-5.3.3 - not identical, but similar enough that there
would be gains from factoring it out, and elibs won't help with that.
Am I understanding correctly in that you didn't use an eclass to avoid
cluttering up the main eclass directory with something specific to
this one package?  If so, it sounds like what you really want is
per-package eclasses (maybe with elibs as well to hold the
non-metadata code), which aren't covered by GLEP33 but ought to be
easy enough to add.

> There's a caveat here; imagine one of the current PM's processing an
> EAPI=4 (or whatever) ebuild that uses elib- specifically there will be
> a global scope function invocation of a function that doesn't exist.
>
> In the past, a minority of folk have raised complaints about this- it
> was never stated as best I know, but my assumption looking back is
> that it was due primarily to paludis getting pissy about ebuilds
> outputing anything during metadata sourcing

I can't speak for other people who may have complained, but it seems
to me that for ebuilds to be calling non-existent commands is fairly
obviously wrong, even if the consequences happen to be benign - not
the end of the world, but something that ought to be avoided if
possible.  (As far as paludis goes, it's more stdout that it used to
get upset about than stderr.)

> Managers should implementat that functionality; orthogonal to it,
> we've got a few options for how to deal with an EAPI=4 ebuild being
> metadata sourced by a <=EAPI3 PM (meaning, there will be a "command
> not found" spat to stderr during sourcing):
>
> [...]

Regarding the stuff about other standalone repositories, I don't think
it's a big deal to require them to carry a small amount of extra stuff
(only if they actually start using elibs in any case), considering all
the profiles, eclasses etc that they'd need anyway.  Overlays based on
the main Gentoo tree would be fine without any effort.

(For the record, +1 for GLEP55 from me, but the reasons for and
against don't need to be repeated yet again.)

> My suggestion?  Split this into two, elibs, and eclass refactoring.

Per-package eclasses would be beneficial IMHO regardless of the other
eclass stuff from 33, might be worth thinking about those as another
item (consistent with the existing design plans of course) if the rest
isn't going to happen soon.

Reply via email to