Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: multilib@g.o
Subject: Re: [gentoo-dev] [PATCH 0/3] Remove parallel run support from multilib & multibuild
Date: Sat, 13 Dec 2014 08:44:36
Message-Id: 20141213094421.4918bd5d@pomiot.lan
In Reply to: [gentoo-dev] [PATCH 0/3] Remove parallel run support from multilib & multibuild by "Michał Górny"
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

Replies