On Sunday 23 January 2005 06:27, Chris Gianelloni wrote:
(B> On Sat, 2005-01-22 at 17:11 +0000, Ciaran McCreesh wrote:
(B> > | Somebody noted that eclasses are like libs and must stay "binary
(B> > | compatible" (as far as one can say that with a bunch of bash
(B> > | functions) to  the old versions.
(B> >
(B> > No, only to whatever's in the tree at the current time.
(B
(BYes and no. At present, eclasses must be compatible with all prior ebuilds 
(Bthat use it for at least the pkg_prerm and pkg_postrm phases. Ideally, they 
(Bshould be backward compatible for *all* phases.
(B
(B> Exactly.  Also consider this example.  You have a function, let's call
(B> it games_make_wrapper.  This function accepts four arguments: name,
(B> binary to run, directory to chdir to, and extra LD_LIBRARY_PATH to load.
(B> Now, provided that the function named games_make_wrapper always accepts
(B> these same options and produces the same output, what does it matter if
(B> the internals of the function are completely re-written?  The
(B> functionality is the same and the end result is the same, so 100%
(B> compatibility exists.
(B>
(B> Now, consider the addition of a 5th optional parameter to this function.
(B> Since it is optional, it would not affect *any* of the ebuilds that call
(B> the function using only 4 parameters, but would act differently for
(B> ebuilds that use the 5th option.
(B>
(B> Under Daniel's proposal, I would have been required to make a new eclass
(B> version for this and would have to start inheriting the new eclass when
(B> it serves no purpose.
(B>
(B> This should be true with *every* function in *every* eclass.  If the
(B> function's compatibility is broken, then every ebuild that uses the
(B> functionality needs to be touched or a new eclass needs to be written
(B> for the new function.  At no point is a "version bump" required to get
(B> this functionality.
(B
(BIf the function's compatibility would be broken, a new function should be 
(Bcreated or a "bump" of the eclass. Creating a new function would probably be 
(Bthe better option.
(B
(BRegards,
(BJason Stubbs
(B
(B--
([email protected] mailing list

Reply via email to