1 |
>>>>> On Sun, 5 Dec 2010, Ciaran McCreesh wrote: |
2 |
|
3 |
> That whole section was written before Portage got parallel jobs |
4 |
> support, and was based around what ebuilds were actually doing. |
5 |
> Portage's parallel jobs break those rules, and this has caused all |
6 |
> kinds of weirdness. |
7 |
|
8 |
> The implications are *supposed* to be that if you want to do parallel |
9 |
> builds, you build binary packages in parallel (being sure to only run |
10 |
> one lot of pkg_ functions at once), and then install those binary |
11 |
> packages (the usual way, so rerunning pkg_setup) serially. |
12 |
|
13 |
> Instead, Portage just installs directly, and has a whole load of |
14 |
> convoluted hacks to try to avoid breakage. These don't actually work, |
15 |
> but the bugs are hidden often enough that you can often go for quite a |
16 |
> long time before you end up screwing your system up... In particular, |
17 |
> Portage assumes that if a and b aren't in any way dependent upon each |
18 |
> other, then they're not going to do anything to / that's going to break |
19 |
> the other one, which isn't true. |
20 |
|
21 |
Thank you for your quick response, but this doesn't answer my |
22 |
questions: |
23 |
|
24 |
>> Why is the second item needed? Changes to DISTDIR don't alter other |
25 |
>> packages, so aren't they covered by the first item anyway? Or do I |
26 |
>> misunderstand the first item's first sentence? |
27 |
|
28 |
>> Which of the following examples count as "variancy"? |
29 |
>> - Calling enewuser() in pkg_setup, |
30 |
>> - Removing orphan files in pkg_setup, |
31 |
>> - Calling pkg_pretend. |
32 |
|
33 |
Ulrich |