1 |
Dnia 2014-12-11, o godz. 11:36:29 |
2 |
Michał Górny <mgorny@g.o> napisał(a): |
3 |
|
4 |
> Hello, everyone. |
5 |
> |
6 |
> Following a similar change in distutils-r1, I would like to remove |
7 |
> the parallel run support in multilib eclasses, and effectively from |
8 |
> multibuild completely. |
9 |
> |
10 |
> The goal is to make things simpler, and follow PMS properly. Right now |
11 |
> the parallel runs imply running commands in a subshell. This has three |
12 |
> important implications: |
13 |
> |
14 |
> 1. variable exports and environment changes inside the implicit subshell |
15 |
> don't affect the outer scope -- developers are sometimes confused by |
16 |
> that, |
17 |
> |
18 |
> 2. parallel runs can collide if temporary files aren't named uniquely -- |
19 |
> think of ffmpeg, waf, |
20 |
> |
21 |
> 3. 'die' called in a subshell is unsupported by the PMS, and didn't make |
22 |
> it into EAPI 6. |
23 |
> |
24 |
> The side advantages are that we can get rid of multiprocessing inherit |
25 |
> and locking in multibuild_merge_root(). |
26 |
> |
27 |
> Possible issues: if people were relying on commands inside parallel not |
28 |
> to affect the outer environment (i.e. doing 'cd' and expecting the next |
29 |
> call to start in the initial location, or exporting variables and |
30 |
> expecting them to disappear), the ebuilds will fail randomly. However, |
31 |
> that's quite unlikely. |
32 |
> |
33 |
> Your thoughts? |
34 |
|
35 |
And committed. |
36 |
|
37 |
Not sure if we want to keep split build logs now. Their main purpose |
38 |
was making around parallel runs readable. However, they still allow you |
39 |
to easily trace build for one variant. |
40 |
|
41 |
-- |
42 |
Best regards, |
43 |
Michał Górny |