Gentoo Archives: gentoo-dev

From: Ulrich Mueller <ulm@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Calling die in a subshell
Date: Sun, 16 Jun 2013 13:01:03
Message-Id: 20925.46847.280329.6489@a1i15.kph.uni-mainz.de
In Reply to: Re: [gentoo-dev] Calling die in a subshell by Ulrich Mueller
1 >>>>> On Sat, 15 Jun 2013, Ulrich Mueller wrote:
2
3 >>> PMS doesn't guarantee that die works correctly in a subshell:
4 >>> http://dev.gentoo.org/~ulm/pms/5/pms.html#x1-12800011.3.3
5 >>>
6 >>> So the devmanual agrees with the spec, and the eclasses need to be
7 >>> fixed.
8
9 >> How does that make any sense?
10
11 > It makes perfect sense. The specification doesn't require that the
12 > package manager's die function works in a subshell, so ebuilds and
13 > eclasses cannot rely on such behaviour.
14
15 It turns out that killing the main process (as both Portage and
16 Paludis do) isn't sufficient in all cases, thanks to Ciaran for
17 pointing this out. It will already fail for something simple like:
18
19 foo | ( bar || die )
20
21 See bug 465008 comment #2 and following.
22
23 > If you want a different behaviour for future EAPIs, then PMS
24 > needs to be changed.
25
26 Ulrich