[gentoo-user] Re: Emerge order not deterministic !?

2015-11-15 Thread Hans

On 12/11/15 19:51, Neil Bothwick wrote:

On Thu, 12 Nov 2015 10:35:14 +0100, Jörg Schaible wrote:


Then use emerge --keep-going and portage will take care of skipping
failing merges for you.


Ah, no, that's not an option. It breaks for a reason. Sometimes I can
ignore that and look for it later and in this case I skip it, but
normally I fix the problem first. However, you have to take care, which
package you're actually skipping. Especially if the build order is
different with resume.


--keep-going will emerge all unaffected packages, meaning you are then
working with a much smaller list when you try to fix the problem. At
least, that's the approach that normally works for me.

--keep-going is intelligent enough to skip any packages that depend on
the failed package. That means you often end up with a package list that
is a single branch dependency tree, so the order is unlikely to change.



I use the following commands to upgrade my Gentoo boxes:
emerge --sync
emerge --update --deep --with-bdeps=y --newuse --backtrack=300 
--changed-deps=y --keep-going=y @world -va


When necessary adding, deleting or changing use flags, keywords, masks.

Followed by:
emerge --depclean
revdep-rebuild

No more problems since using this sequence unless there is a bug in a 
ebuild, like the one last one in busybox ebuild.







Re: [gentoo-user] Re: Emerge order not deterministic !?

2015-11-12 Thread Alan McKinnon
On 12/11/2015 10:29, Jörg Schaible wrote:
> Alan McKinnon wrote:
> 
>> On 11/11/2015 21:35, Walter Dnes wrote:
>>>   Ongoing installation.  I looked at 2 instances of
>>> "emerge -pv x11-base/xorg-server" and the order was somewhat different.
>>> Here are a couple of outputs, just a few seconds apart.  Is this a bug
>>> or a feature?  See attachments.
>>>
>>
>>
>> Emerge order is not deterministic, especially with parallel builds. The
>> reason is that it does not need to be according to the dep graph - if
>> two packages are at the same level and do not depend on each other, then
>> the order they are built in does not affect the final result.
>> Practically all parallel processing works this way.
>>
>> What is deterministic, is that if you build the same set of packages
>> twice and even if portage does them in different order, the binaries
>> produced are functionally identical
> 
> Hmmm. And how can you then ever use
> 
>   emerge --resume --skip-fist
> 
> if not even the first build is deterministic? I skip the first package 
> anyway only if the problematic package is the first one to build after 
> resume, but if I cannot even rely on that?


Because it re-uses the previous build order, not re-generate a new one.


-- 
Alan McKinnon
alan.mckin...@gmail.com




[gentoo-user] Re: Emerge order not deterministic !?

2015-11-12 Thread Jörg Schaible
Alan McKinnon wrote:

> On 11/11/2015 21:35, Walter Dnes wrote:
>>   Ongoing installation.  I looked at 2 instances of
>> "emerge -pv x11-base/xorg-server" and the order was somewhat different.
>> Here are a couple of outputs, just a few seconds apart.  Is this a bug
>> or a feature?  See attachments.
>> 
> 
> 
> Emerge order is not deterministic, especially with parallel builds. The
> reason is that it does not need to be according to the dep graph - if
> two packages are at the same level and do not depend on each other, then
> the order they are built in does not affect the final result.
> Practically all parallel processing works this way.
> 
> What is deterministic, is that if you build the same set of packages
> twice and even if portage does them in different order, the binaries
> produced are functionally identical

Hmmm. And how can you then ever use

  emerge --resume --skip-fist

if not even the first build is deterministic? I skip the first package 
anyway only if the problematic package is the first one to build after 
resume, but if I cannot even rely on that?

Cheers,
Jörg