On Sat, 20 Oct 2012 14:24:29 -0700
"Gregory M. Turner" <[email protected]> wrote:
> On 10/20/2012 4:05 AM, Ciaran McCreesh wrote:
> > On Sat, 20 Oct 2012 03:52:49 -0700
> > "Gregory M. Turner" <[email protected]> wrote:
> >> Took me a while, but I think I see why this is correct, now (mostly
> >> -- see below).  The source of my confusion was a mistaken
> >> assumption that die() would not respect PORTAGE_NONFATAL.
> >
> > The source of your confusion is more the impression that there is
> > such a thing as PORTAGE_NONFATAL. You should be reading the spec,
> > not code.
> 
> Seriously?  OK, let's try:
> 
>    http://dev.gentoo.org/~ulm/pms/4/pms.html#x1-13000012.3.3.1
> 
> and
> 
>    http://dev.gentoo.org/~ulm/pms/4/pms.html#x1-13500012.3.3.6
> 
> do not comport with the actual behavior of portage.
> 
> Specifically, they very strongly suggest that nonfatal does not 
> influence the behavior of die().  So depending on one's reading of
> the situation, either the PMS is misspecified or portage is broken.

They don't just suggest it. It's stated outright in the description of
nonfatal:

    Executes the remainder of its arguments as a command,
    preserving the exit status. If this results in a command being
    called that would normally abort the build process due to a failure
    (but not due to an explicit die or assert call), instead a non-zero
    exit status shall be returned. Only in EAPIs listed in table 12.5
    as supporting nonfatal.

So if 'nonfatal die' doesn't die with Portage, you've found a bug.

-- 
Ciaran McCreesh

Attachment: signature.asc
Description: PGP signature

Reply via email to