public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] System stability - update.mask
@ 2002-04-19  1:05 William McArthur
  2002-04-19 10:00 ` Terje Kvernes
  2002-04-21 11:24 ` Spider
  0 siblings, 2 replies; 3+ messages in thread
From: William McArthur @ 2002-04-19  1:05 UTC (permalink / raw
  To: gentoo-dev

The following is some thoughts on how to provide the stability that I 
think most users really want while keeping the bleeding edge ones happy. 
This was promped by the IRC discussion I posted to the list earlier today.

The problem with a stability metric on each pacakge as described in the 
channel is it doesn't describe the stability of the interaction of the 
packages between each other. It would not have solved the libpng 
problems many users had. Becuase I'm sure libpng-1.2.* is a solid 
package and each other package that linked against libpng-1.0.* would 
have had a reasonable stability metric from it's use before 
libpng-1.2.* was released.

What I think would work well is a checkpoint system where every other 
month or so we have a package freeze for about a week or less. Then what 
I call a update.mask is generated based on the newest versions of all 
working packages out there. I originally thought of checkpoints as 
milestones like the mozilla guys use but a milestone is a goal, this is 
more like a saved state in a game.

This update.mask is a lot like the package.mask in format but instead of 
disabling packages it defines a leading edge of packages that are not 
`emerge --update world` past. Kinda like drawing a line in the sand and 
saying all packages on one side of the line are reasonably tested to 
work well together. If the user wants to he can explictly emerge a 
package that is on the other side of that line but it would require him 
to type the version he wants.

Also, I think this would obsolete the "world favorites" list that is 
maintained for a system. As I understand this feature it is to prevent 
the endless recompiling of point release of dependicies.

I envision an option added to emerge that is like the `java-config 
--list-available-vms` but it would be `emerge 
--list-available-checkpoints`. The user can then select the desired 
checkpoint with something like `emerge --set-checkpoint gentoo-YYYY-MM` 
which then updated a symlink or something to the selected update.mask 
file. Also it would be nice to have a bleeding edge update.mask that 
doens't draw any leading edge.

One thing I haven't figured out is how to deal with new packages added 
after the update.mask. The update.mask wouldn't know about the new 
package and I think updating old check points should be advoided. 
Suggestions welcome.

Feed back welcomed.

Sandy McArthur





^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [gentoo-dev] System stability - update.mask
  2002-04-19  1:05 [gentoo-dev] System stability - update.mask William McArthur
@ 2002-04-19 10:00 ` Terje Kvernes
  2002-04-21 11:24 ` Spider
  1 sibling, 0 replies; 3+ messages in thread
From: Terje Kvernes @ 2002-04-19 10:00 UTC (permalink / raw
  To: gentoo-dev

William McArthur <sandymac@gentoo.org> writes:

> The following is some thoughts on how to provide the stability that
> I think most users really want while keeping the bleeding edge ones
> happy. This was promped by the IRC discussion I posted to the list
> earlier today.

  dang, I missed that.  :/
 
> The problem with a stability metric on each pacakge as described in
> the channel is it doesn't describe the stability of the interaction
> of the packages between each other. 

  not directly no, and that _might_ be a problem.

> It would not have solved the libpng problems many users had. Becuase
> I'm sure libpng-1.2.* is a solid package and each other package that
> linked against libpng-1.0.* would have had a reasonable stability
> metric from it's use before libpng-1.2.* was released.

  it _would_ solve that issue, because the author of the ebuild
  wouldn't (or at least shouldn't) label that package as stable before
  it has been around the block a while.  and even though you _only_
  need to deal with your own package, using a bit of common sense
  isn't a bad idea.  :)
 
> What I think would work well is a checkpoint system where every
> other month or so we have a package freeze for about a week or
> less. Then what I call a update.mask is generated based on the
> newest versions of all working packages out there. I originally
> thought of checkpoints as milestones like the mozilla guys use but a
> milestone is a goal, this is more like a saved state in a game.

  hm, okay, that doesn't seem like a bad idea though.  what I don't
  like about this is that you get locked into a set of packages.  we
  should try to work against the stability of packages, not just say
  "these packages have known bugs, so they're stable".
 
> This update.mask is a lot like the package.mask in format but
> instead of disabling packages it defines a leading edge of packages
> that are not `emerge --update world` past. Kinda like drawing a line
> in the sand and saying all packages on one side of the line are
> reasonably tested to work well together. If the user wants to he can
> explictly emerge a package that is on the other side of that line
> but it would require him to type the version he wants.

  oki.  not a bad idea.  *thinking*
 
  [ ... ]

> I envision an option added to emerge that is like the `java-config
> --list-available-vms` but it would be `emerge
> --list-available-checkpoints`. The user can then select the desired
> checkpoint with something like `emerge --set-checkpoint
> gentoo-YYYY-MM` which then updated a symlink or something to the
> selected update.mask file. Also it would be nice to have a bleeding
> edge update.mask that doens't draw any leading edge.

  it would be a must, and I certainly want to be able to say "set
  checkpoint <here> but still get me the newest mplayer".
 
> One thing I haven't figured out is how to deal with new packages
> added after the update.mask. The update.mask wouldn't know about the
> new package and I think updating old check points should be
> advoided. Suggestions welcome.

  sorry, no good ideas.  I've done some work on my end with the idea
  of having a single stable package of every ebuild, where you
  basically symlink something like

  "ln -s xgammon-0.98a xgammon-stable"
 
  and I'm currently adding support for this in emerge.  but it should
  be nested deeper in the system, but looking at the portage code has
  scared me a bit.  it's been a while since I did python as well.  :/

  support for developer update reasons is also on its way, but has the
  same general problem as above.

-- 
Terje


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [gentoo-dev] System stability - update.mask
  2002-04-19  1:05 [gentoo-dev] System stability - update.mask William McArthur
  2002-04-19 10:00 ` Terje Kvernes
@ 2002-04-21 11:24 ` Spider
  1 sibling, 0 replies; 3+ messages in thread
From: Spider @ 2002-04-21 11:24 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 3815 bytes --]

Hello, its a nice proposal, but one that shows our current systems
weakness right now.

Fex. we currently have 256 package entries in package.mask
$(cat package.mask |grep "/" - |grep -v "#" - |wc -l)
    256
How many of those are known "BROKEN" packages and how many are just
there because we need more testing, or because some older package needs
a checkup to make sure it all works nicely?

Anyone? can you answer without looking into the package.mask?
I know I cant.. I also know I have some packages there that just need
some more user input before we can unmask them and call them stable.

To split package.mask into "broken.mask" and "testme.mask" could solve
part of this, simply autogenerating package.mask at every emerge is a
trivial task for that matter. (cat broken.mask testme.mask>package.mask)

this isn't the magic solution we all have been waiting for.. sorry. I
dont think there is one here.


//Spider



begin  quote
On Thu, 18 Apr 2002 21:05:53 -0400
William McArthur <sandymac@gentoo.org> wrote:

> The following is some thoughts on how to provide the stability that I 
> think most users really want while keeping the bleeding edge ones
> happy. This was promped by the IRC discussion I posted to the list
> earlier today.
> 
> The problem with a stability metric on each pacakge as described in
> the channel is it doesn't describe the stability of the interaction of
> the packages between each other. It would not have solved the libpng 
> problems many users had. Becuase I'm sure libpng-1.2.* is a solid 
> package and each other package that linked against libpng-1.0.* would 
> have had a reasonable stability metric from it's use before 
> libpng-1.2.* was released.
> 
> What I think would work well is a checkpoint system where every other 
> month or so we have a package freeze for about a week or less. Then
> what I call a update.mask is generated based on the newest versions of
> all working packages out there. I originally thought of checkpoints as
> milestones like the mozilla guys use but a milestone is a goal, this
> is more like a saved state in a game.
> 
> This update.mask is a lot like the package.mask in format but instead
> of disabling packages it defines a leading edge of packages that are
> not `emerge --update world` past. Kinda like drawing a line in the
> sand and saying all packages on one side of the line are reasonably
> tested to work well together. If the user wants to he can explictly
> emerge a package that is on the other side of that line but it would
> require him to type the version he wants.
> 
> Also, I think this would obsolete the "world favorites" list that is 
> maintained for a system. As I understand this feature it is to prevent
> the endless recompiling of point release of dependicies.
> 
> I envision an option added to emerge that is like the `java-config 
> --list-available-vms` but it would be `emerge 
> --list-available-checkpoints`. The user can then select the desired 
> checkpoint with something like `emerge --set-checkpoint
> gentoo-YYYY-MM` which then updated a symlink or something to the
> selected update.mask file. Also it would be nice to have a bleeding
> edge update.mask that doens't draw any leading edge.
> 
> One thing I haven't figured out is how to deal with new packages added
> after the update.mask. The update.mask wouldn't know about the new 
> package and I think updating old check points should be advoided. 
> Suggestions welcome.
> 
> Feed back welcomed.
> 
> Sandy McArthur
> 
> 
> 
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev


--
begin  .signature
This is a .signature virus! Please copy me into your .signature!
See Microsoft KB Article Q265230 for more information.
end

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-04-21 11:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-19  1:05 [gentoo-dev] System stability - update.mask William McArthur
2002-04-19 10:00 ` Terje Kvernes
2002-04-21 11:24 ` Spider

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox