I tried to put ">~app-misc/foo-1.23" in /etc/portage/package.mask to reflect what I want (accept any 1.23-r* version, but mask anything greater than that). This returned a "--- Invalid atom in /etc/portage/package.mask:" error message. The logic seems straightforward and not difficult to program, so I believe it would be a reasonable enhancement to make this valid syntax.
Just use =app-misc/foo-1.23* Portage is not Rubygems.
I am trying to mask anything GREATER THAN 1.23-r*. It doesn't seem that there is any way (with the current syntax) of doing this. And no, I cant use >=app-misc/foo-1.24, because that would be foiled by a 1.23.1.
This should achieve the desired effect: echo app-misc/foo >> /etc/portage/package.mask echo =app-misc/foo-1.23* >> /etc/portage/package.unmask
(In reply to comment #3) > This should achieve the desired effect: > > echo app-misc/foo >> /etc/portage/package.mask > echo =app-misc/foo-1.23* >> /etc/portage/package.unmask Wouldn't that also handle a 1.23.1 incorrectly (I only want to accept 1.23-r*, but not 1.23.*)?
(In reply to comment #4) > Wouldn't that also handle a 1.23.1 incorrectly (I only want to accept > 1.23-r*, but not 1.23.*)? Yes, you'd have to use ~app-misc/foo-1.23 instead. The ~ operator matches any revision.