Gentoo Archives: gentoo-dev

From: Terje Kvernes <terjekv@××××××××.no>
To: gentoo-dev@g.o
Subject: Re: [gentoo-dev] System stability - update.mask
Date: Fri, 19 Apr 2002 05:00:10
Message-Id: wxxvgaorot3.fsf@nommo.uio.no
In Reply to: [gentoo-dev] System stability - update.mask by William McArthur
1 William McArthur <sandymac@g.o> writes:
2
3 > The following is some thoughts on how to provide the stability that
4 > I think most users really want while keeping the bleeding edge ones
5 > happy. This was promped by the IRC discussion I posted to the list
6 > earlier today.
7
8 dang, I missed that. :/
9
10 > The problem with a stability metric on each pacakge as described in
11 > the channel is it doesn't describe the stability of the interaction
12 > of the packages between each other.
13
14 not directly no, and that _might_ be a problem.
15
16 > It would not have solved the libpng problems many users had. Becuase
17 > I'm sure libpng-1.2.* is a solid package and each other package that
18 > linked against libpng-1.0.* would have had a reasonable stability
19 > metric from it's use before libpng-1.2.* was released.
20
21 it _would_ solve that issue, because the author of the ebuild
22 wouldn't (or at least shouldn't) label that package as stable before
23 it has been around the block a while. and even though you _only_
24 need to deal with your own package, using a bit of common sense
25 isn't a bad idea. :)
26
27 > What I think would work well is a checkpoint system where every
28 > other month or so we have a package freeze for about a week or
29 > less. Then what I call a update.mask is generated based on the
30 > newest versions of all working packages out there. I originally
31 > thought of checkpoints as milestones like the mozilla guys use but a
32 > milestone is a goal, this is more like a saved state in a game.
33
34 hm, okay, that doesn't seem like a bad idea though. what I don't
35 like about this is that you get locked into a set of packages. we
36 should try to work against the stability of packages, not just say
37 "these packages have known bugs, so they're stable".
38
39 > This update.mask is a lot like the package.mask in format but
40 > instead of disabling packages it defines a leading edge of packages
41 > that are not `emerge --update world` past. Kinda like drawing a line
42 > in the sand and saying all packages on one side of the line are
43 > reasonably tested to work well together. If the user wants to he can
44 > explictly emerge a package that is on the other side of that line
45 > but it would require him to type the version he wants.
46
47 oki. not a bad idea. *thinking*
48
49 [ ... ]
50
51 > I envision an option added to emerge that is like the `java-config
52 > --list-available-vms` but it would be `emerge
53 > --list-available-checkpoints`. The user can then select the desired
54 > checkpoint with something like `emerge --set-checkpoint
55 > gentoo-YYYY-MM` which then updated a symlink or something to the
56 > selected update.mask file. Also it would be nice to have a bleeding
57 > edge update.mask that doens't draw any leading edge.
58
59 it would be a must, and I certainly want to be able to say "set
60 checkpoint <here> but still get me the newest mplayer".
61
62 > One thing I haven't figured out is how to deal with new packages
63 > added after the update.mask. The update.mask wouldn't know about the
64 > new package and I think updating old check points should be
65 > advoided. Suggestions welcome.
66
67 sorry, no good ideas. I've done some work on my end with the idea
68 of having a single stable package of every ebuild, where you
69 basically symlink something like
70
71 "ln -s xgammon-0.98a xgammon-stable"
72
73 and I'm currently adding support for this in emerge. but it should
74 be nested deeper in the system, but looking at the portage code has
75 scared me a bit. it's been a while since I did python as well. :/
76
77 support for developer update reasons is also on its way, but has the
78 same general problem as above.
79
80 --
81 Terje