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