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