On 10/19/2012 07:23 AM, Gregory M. Turner wrote:
> I'm cooking up some eclass functions and it occurred to me that perhaps
> I had some responsibility regarding EAPI4's new error handling
> semantics.  After looking into it, it seems that, superficially, the
> answer to my question is "no, the EAPI4 changes only apply to ebuild
> helpers."
> 
> Even so, this got me thinking: if ebuild helpers are going to warn(*) in
> EAPI<4 and die in EAPI>=4 (unless somebody used "nonfatal"), then, those
> error-handling semantics are going to bubble up through my eclass to its
> heirs (assuming my eclass uses helpers).

Regardless of EAPI, don't call the helpers that die in EAPI 4 unless you
want the function to die when the helpers fail, and use helper || die so
it behaves the same regardless of EAPI. It's okay to die in older EAPIs,
as long as you're not changing the behavior of a previously existing
eclass function. Previously existing eclass functions that only start to
die in EAPI 4 are okay, since they only start to die when the ebuild
developer bumps the EAPI.
-- 
Thanks,
Zac

Reply via email to