rindeal posted on Fri, 27 May 2016 00:28:35 +0200 as excerpted:

> I've noticed that ebuilds for at least dev-lang/perl and sys-libs/glibc
> are using some concept of "eblits", which seems like parts of ebuilds
> scattered across $FILESDIR with ebuilds containing some logic (involving
> eval) which includes and runs them.
> 
> I haven't found any documentation related to them so I'm asking here:
> 
> 1) what are they?
> 2) why are they used?

Consider this answer a "gap" answer, until you get a better answer from 
Frysinger (who I believe is the one who invented the concept, or failing 
that, at least one of the primary users and expanders of the concept for 
the glibc ebuilds) or one of the perl devs that are directly involved, or 
QA...

Based on (obviously my understanding of) the explanations I've seen 
previously, you can think of them sort of like eclasses, reusable 
libraries used by multiple ebuilds, except that they're normally specific 
to the multiple ebuilds for a single package, instead of being code 
shared between many different packages.

Because they're normally only used by the different ebuilds for a single 
package, generally maintained by the same person, they don't have the 
same formality applied to them that eclasses do.  Eclass changes are 
normally posted here on the dev list for review before being committed, 
for instance, while eblits... not.

However, as a result of this informality and the subsequent gray area 
eblits inhabit, they tend to be discouraged for most packages and 
definitely for newer devs.  In general, for in-tree use and for repos 
following the same rules, consider eblits an "if you have to ask, it's 
not an option available to you" deal.  Alternatively put, if you believe 
they'd be useful for code destined for in-tree use, definitely consult 
with other devs and with QA before attempting to introduce your eblits, 
and be prepared for a "no" answer.

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