On Sun, 18 Oct 2015 10:31:09 +0200 Alexis Ballier <aball...@gentoo.org> wrote:
> On Sat, 17 Oct 2015 22:47:28 +0200 > Ulrich Mueller <u...@gentoo.org> wrote: > > > >>>>> On Sat, 17 Oct 2015, Alexis Ballier wrote: > > > > > Sorry for coming very late on this, but what is the rationale behind > > > setting in stone an 'eapply' different to an 'epatch' that has been > > > widely tested for decades now ? Or even defining eapply in PMS ? > > > > The rationale is that we cannot apply patches in the default > > src_prepare() unless there is a patch function in the package manager > > itself. Obviously the default phase cannot call a function from an > > eclass. > > well, that was the idea behind base.eclass :) > why not just improving it ? Let me Ciaran the answer for you: because we want a stable API. We don't want random eclass that random developer will randomly change every second month, accidentally breaking a number of ebuilds. > or give proper scoping to inherit wrt EXPORT_FUNCTIONS, ala python: > 'from base inherit src_prepare' bugs.gentoo.org -> PMS/EAPI, and block 'Future EAPI'. > > > Also, mandating -p1 seems quite limiting: e.g. 'svn diff -rX:Y' > > > extracts -p0 patches by default here. Or when $S is actually a > > > subdir of a repository, this will make standard git format-patch > > > generated patches unusable. > > > > Limiting the level to -p1 (and not doing autodetection) was a design > > decision. eapply is really meant for simple cases like default > > src_prepare applying patches listed in the PATCHES variable. > > For anything that is more complicated there will still be epatch. > > > yes, I understand that, but this one was more intended for the > rationale and for eapply_user: > - why should I ever call eapply instead of epatch ? Because it's built-in, simpler, faster and more failure-proof. > - why should I ever want eapi6 src_prepare instead of > base_src_prepare ? base.eclass is deprecated. You are going to get in trouble for using it. > - what do I, as en ebuild writer, gain from this? Reliable patching. Unlike epatch, eapply will not succeed when the patch unexpectedly applied to the wrong directory. > As for eapply_user: Since it seems perfectly fine to have eapply_user a > noop, and most parts are implementation defined, why mandating > eapply_user to use such a limited eapply instead of leaving it > implementation defined ? Principle of least surprise. Reusability of patches. -- Best regards, Michał Górny <http://dev.gentoo.org/~mgorny/>
pgpeKpOn9ShP_.pgp
Description: OpenPGP digital signature