[gentoo-user] How can I unmask package and mask just its one version?

2010-10-28 Thread Jarry

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...

Jarry

--
___
This mailbox accepts e-mails only from selected mailing-lists!
Everything else is considered to be spam and therefore deleted.



Re: [gentoo-user] How can I unmask package and mask just its one version?

2010-10-28 Thread Fatih Tümen
On Thu, Oct 28, 2010 at 20:13, Jarry mr.ja...@gmail.com wrote:
 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...

 Jarry

 --
 ___
 This mailbox accepts e-mails only from selected mailing-lists!
 Everything else is considered to be spam and therefore deleted.



# emerge app-portage/autounmask
# autounmask category/package-version

Watch the output of autounmask, read the written files, you will see how to.

--
   Fatih



Re: [gentoo-user] How can I unmask package and mask just its one version?

2010-10-28 Thread Alan McKinnon
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