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
