I was goofing around trying to get current dev-vcs/git-9999 building
by skipping the CVS patch ( which is applied with epatch ) and I had a
bizzare amount of time working out how to get it working.
Looking at the source of eutils.eclass ' # Let people filter things
dynamically ' suggests to me that this field is for use by a end user
via package.env and friends.
However, every time I ran emerge, the 'environment' file simply
suggests that EPATCH_EXCLUDE was ="" .
Looking elsewhere in eutils.eclass, I spied a forced initialization of
EPATCH_EXCLUDE, which implicitly means you can't actually use this to
exclude patches outside .ebuild
Commenting this line out, yielded the result I had been expecting, the
CVS patch being skipped .
I only thought I could do this because I used something like this
once upon a time with net-im/psi-9999 and thought it was just "normal"
to be able to disable patches if I really wanted to. ( But I see now
they acheive this by copying MY_EPATCH_EXCLUDE to EPATCH_EXCLUDE in
the .ebuild ).
So, is this variable guarded against user tampering intentionally? It
sure beats hacking the ebuild.
( Side note, what would also be nice is some sort of warning if things
you set in package.env are getting totally ignored. But thats a hard
problem )
On Monday 06 August 2012 15:45:46 Kent Fredric wrote:
> Looking at the source of eutils.eclass ' # Let people filter things
> dynamically ' suggests to me that this field is for use by a end user
> via package.env and friends.
no, it is meant for packagers to have a single patch tarball, setup
EPATCH_EXCLUDE based on USE flags, and then run epatch on that one dir.
otherwise, you'd have to `rm` files.
there is no support for end users discarding selective patches via package.env
-mike