Apparently, though unproven, at 19:13 on Thursday 28 October 2010, Jarry did
opine thusly:
> Hi,
> how can I unmask (generally) certain M~ masked package and
> mask one particular version of that package? I want to use
> that package, but skip just one "x.y.z" upgrade, and continue
> with any future higher upgrades ("x.y.z+1").
>
> So I entered tree/package in /etc/portage/package.unmask, and
> tree/package_x.y.z into /etc/portage/package.mask. But this
> does not work, that "x.y.z" version still wants to be installed...
portage is fighting you.
unmask has priority over mask, so unmasking everything and masking a specific
version will not work - the first rule will prevail.
You must come up with some prefix operators for unmask that will exclude the
one you want to mask. For example, say you wanted to mask version 4:
unmask:
<cat/package-4
>cat/package-4
mask:
=cat/package-4
But this is fragile and will break way too often. What if you later also want
to mask version 7? portage doesn't give you a boolean AND or any way I know of
to specify a range of versions. So you have to keep an eye on it manually, and
tweak as necessary. Or you could just list exactly every version for which
there's an ebuild and add it to the appropriate package.* file
This is a definite shortcoming in portage, it warrants a feature request at
b.g.o.
--
alan dot mckinnon at gmail dot com