On Mon 15 August 2011 20:55:12 Sebastian Beßler did opine thusly:
> Am 15.08.2011 20:02, schrieb Alan McKinnon:
> > It's not a bug, portage is doing what it should.
> > 
> > In the first case portage will try upgrade all packages to the
> > latest version. It sees that you asked it to try autounmask
> > stuff, so it wants to override your local mask for
> > ExtUtils-ParseXS.
> 
> I don't asked portage to autounmask anything, that is a feature of
> portage-2.2 and should normaly only fire when there is a need to
> unmask (or change USE or change keyword) anything to fullfill the
> needs of the packages to be installed or updated.
> 
> Else it would tell anyone on stable who use portage-2.2 to change to
> ~unstable because there is newer stuff to install. I have a large
> amount on packages that have newer versions that are masked and
> autounmask doesn't ask me to install them only because they are
> newer.
> > In the second case you have told portage to upgrade system and
> > world but to leave masking well enough alone. As your current
> > installed version of ExtUtils-ParseXS satisfies all needs, it
> > makes no effort to try and upgrade it.
> 
> I think that you not really know what the autounmask-feature of
> portage-2.2 is all about.
> 
> Normally it does something like this:
> 
> emerge =perl-core/ExtUtils-ParseXS-3.20.0 -vp
> 
> These are the packages that would be merged, in order:
> 
> Calculating dependencies               ... done!
> [ebuild     U  ] perl-core/ExtUtils-ParseXS-3.20.0 [2.22.06] 0 kB
> 
> Total: 1 package (1 upgrade), Size of downloads: 0 kB
> 
> The following keyword changes are necessary to proceed:
> #required by =perl-core/ExtUtils-ParseXS-3.20.0 (argument)
> 
> >=perl-core/ExtUtils-ParseXS-3.20.0 ~amd64
> 
> NOTE: This --autounmask behavior can be disabled by setting
>       EMERGE_DEFAULT_OPTS="--autounmask=n" in make.conf.
> 
> without it would look like this:
> 
> EMERGE_DEFAULT_OPTS="--autounmask=n" emerge
> =perl-core/ExtUtils-ParseXS-3.20.0 -vp
> 
> These are the packages that would be merged, in order:
> 
> Calculating dependencies         ... done!
> 
> !!! All ebuilds that could satisfy
> "=perl-core/ExtUtils-ParseXS-3.20.0" have been masked.
> !!! One of the following masked packages is required to complete
> your request:
> - perl-core/ExtUtils-ParseXS-3.20.0::gentoo (masked by: ~amd64
> keyword)
> 
> For more information, see the MASKED PACKAGES section in the emerge
> man page or refer to the Gentoo Handbook.
> 
> It is just a other way to display what is needed to be done. If
> autounmask fires portage should throw an error too if trying the
> same thing again with autounmask=n. But here it doesn't. It tells
> me to unmaks without any need.

Do you have autounmask enabled or disabled in your config for portage?

That first example you gave strongly indicates you have it enabled.


> 
> > The trick to working with autounmask is to realise that it is
> > stupid software, it cannot possibly know what you want or
> > intend. So it tries a blanket approach for the most part. If
> > you have more complex masking than just stable/unstable
> > statistically it will be wrong far more often than it is right.
> 
> If there is a package version masked and nothing needs that version
> then autounmask should not fire. It should leave that alone.
> 
> For me it still looks like a bug.
> 
> Greetings
> 
> Sebastian
-- 
alan dot mckinnon at gmail dot com

Reply via email to