Gentoo Archives: gentoo-user

From: Michael Higgins <linux@×××××××.org>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] How to "freeze" my Gentoo system
Date: Thu, 02 Apr 2009 18:19:08
Message-Id: 20090402111930.30fce156@lappy.evolone.org
In Reply to: Re: [gentoo-user] How to "freeze" my Gentoo system by Alan McKinnon
1 On Thu, 12 Mar 2009 09:56:47 +0200
2 Alan McKinnon <alan.mckinnon@×××××.com> wrote:
3
4 > On Wednesday 11 March 2009 22:40:54 Michael Higgins wrote:
5
6 > > Don't know the proper term, but I want to stop version updates for
7 > > a while, yet allow package-rN updates...
8 >
9 > This doesn't seem to be a built-in feature of portage after a quick
10 > scan of the man pages. But I can think of a method to do it the long
11 > way round:
12 >
13 > The atom syntax you want is
14
15
16 Well, I finally got a tuit, the round type, and applied to this question.
17
18 I don't know about >~ or ~> syntax. Not sure if ~ will work in package mask. Maybe in package.unmask, though... which makes sense, to my understanding. To unmask ~anyversionof-1.2.3.
19
20 But to package.mask? I can't make '~' work. So... what I want, I think, is >= in package.mask for the *next* version update, so it doesn't get pulled in anywhere.
21
22 Here's the command line I used:
23
24 qatom $(qlist -ICv) | awk '{print ">="$1"/"$2"-"$3}' |\
25 sort -u | perl -pe 's/^(.+(?:\.|-))(\d+)(?>([-_.\da-z]*))$/$1.($2+1)/ge' | \
26 grep -Pv $( echo $( eix -inc -\* |cut -d " " -f 2 ) |tr " " "|" ) >> /etc/portage/package.mask
27
28 Anyway, that is what I wound up with. Unless I'm totally off, it works by removing funky version strings (that hideous regex) and bumping up by a digit whatever is left, skipping anything that is slotted (eix -inc).
29
30 (We can't mask in a slot, AFAIK, but maybe someone else does know.)
31
32 I deeply, newly updated system and world, ran the script above and repeated the deep new update to system and world. The list passed, in that I didn't mask any currently installed packages. '-)
33
34 And today I got no updates to install after syncing the tree. Good so far.
35
36 Time will tell, of course, if this really works. If there are no ebuilds offered with revision numbers, or new -rc -pre -whatever, I won't be bothered by them, is the plan. That is, if portage doesn't see 1.2.-rc_9999 as >=1.3 -- which is shouldn't, right? ;-)
37
38 Then one day I'll remove my additions to package.mask and spend a day pulling out my hair (or watching the new, magic portage do it's beautiful thing...) but that's better than possibly doing that several times a month. And this without ignoring any revisions, bug fixes, and the like.
39
40 Cheers,
41
42 --
43 |\ /| | | ~ ~
44 | \/ | |---| `|` ?
45 | |ichael | |iggins \^ /
46 michael.higgins[at]evolone[dot]org