1 |
On 12/11/2015 10:48, Jörg Schaible wrote: |
2 |
> Alan McKinnon wrote: |
3 |
> |
4 |
>> On 12/11/2015 10:29, Jörg Schaible wrote: |
5 |
>>> Alan McKinnon wrote: |
6 |
>>> |
7 |
>>>> On 11/11/2015 21:35, Walter Dnes wrote: |
8 |
>>>>> Ongoing installation. I looked at 2 instances of |
9 |
>>>>> "emerge -pv x11-base/xorg-server" and the order was somewhat different. |
10 |
>>>>> Here are a couple of outputs, just a few seconds apart. Is this a bug |
11 |
>>>>> or a feature? See attachments. |
12 |
>>>>> |
13 |
>>>> |
14 |
>>>> |
15 |
>>>> Emerge order is not deterministic, especially with parallel builds. The |
16 |
>>>> reason is that it does not need to be according to the dep graph - if |
17 |
>>>> two packages are at the same level and do not depend on each other, then |
18 |
>>>> the order they are built in does not affect the final result. |
19 |
>>>> Practically all parallel processing works this way. |
20 |
>>>> |
21 |
>>>> What is deterministic, is that if you build the same set of packages |
22 |
>>>> twice and even if portage does them in different order, the binaries |
23 |
>>>> produced are functionally identical |
24 |
>>> |
25 |
>>> Hmmm. And how can you then ever use |
26 |
>>> |
27 |
>>> emerge --resume --skip-fist |
28 |
>>> |
29 |
>>> if not even the first build is deterministic? I skip the first package |
30 |
>>> anyway only if the problematic package is the first one to build after |
31 |
>>> resume, but if I cannot even rely on that? |
32 |
>> |
33 |
>> |
34 |
>> Because it re-uses the previous build order, not re-generate a new one. |
35 |
> |
36 |
> That's simply not true. Emerge resume calculates the order again and for me |
37 |
> it starts often with a different package. |
38 |
|
39 |
I've never noticed that. For me --skip-first has always skipped the |
40 |
correct first package (the one that previously failed). |
41 |
|
42 |
As long as a known build failure is not in the --resume list, I don't |
43 |
care what the build order is because it is irrelevant. The only time it |
44 |
becomes relevant is when an ebuild has a bug such as a missing dep. But |
45 |
that's a bug in the ebuild and is fixed there. |
46 |
|
47 |
|
48 |
-- |
49 |
Alan McKinnon |
50 |
alan.mckinnon@×××××.com |