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 |