1 |
Hello, everyone. |
2 |
|
3 |
Following a similar change in distutils-r1, I would like to remove |
4 |
the parallel run support in multilib eclasses, and effectively from |
5 |
multibuild completely. |
6 |
|
7 |
The goal is to make things simpler, and follow PMS properly. Right now |
8 |
the parallel runs imply running commands in a subshell. This has three |
9 |
important implications: |
10 |
|
11 |
1. variable exports and environment changes inside the implicit subshell |
12 |
don't affect the outer scope -- developers are sometimes confused by |
13 |
that, |
14 |
|
15 |
2. parallel runs can collide if temporary files aren't named uniquely -- |
16 |
think of ffmpeg, waf, |
17 |
|
18 |
3. 'die' called in a subshell is unsupported by the PMS, and didn't make |
19 |
it into EAPI 6. |
20 |
|
21 |
The side advantages are that we can get rid of multiprocessing inherit |
22 |
and locking in multibuild_merge_root(). |
23 |
|
24 |
Possible issues: if people were relying on commands inside parallel not |
25 |
to affect the outer environment (i.e. doing 'cd' and expecting the next |
26 |
call to start in the initial location, or exporting variables and |
27 |
expecting them to disappear), the ebuilds will fail randomly. However, |
28 |
that's quite unlikely. |
29 |
|
30 |
Your thoughts? |
31 |
|
32 |
-- |
33 |
Best regards, |
34 |
Michał Górny |