Haskell/Stabilising, Keywording or Masking GHC

Stabilising
Stabilising a GHC version is a big deal, it affects a lot of users and lots of packages.

Basically, these packages must be marked stable at the same time:


 * dev-lang/ghc: The compiler itself
 * app-admin/haskell-updater: Our package upgrader/broken package fixer
 * dev-haskell/haddock: Documentation system, often closely tied to a GHC version
 * If the GHC version is part of a version of the Haskell Platform, consider stabilising those packages too.

The packages in question must have been in portage at least 30 days without any bug reports. We're only allowed to stablilize the amd64 platform ourselves, for the other arches we must post a STABLEREQ bug at bugs.gentoo.org

Testing
As this will be committed to portage, it's easiest to work in a portage tree checkout (with CVS) where you will actually commit your changes. Then, make a chroot and make its /usr/portage to be your portage checkout.

From there it's easy to run repoman, tweak your ebuilds, and to test your changes in the chroot.

Testing scenarios
Basically we want to test things that the user will run into. Test these things in your chroot;


 * Install GHC (and haskell-updater, etc) on a system that doesn't have any haskell packages. Does it give a usable environment (install a few packages, most notably darcs)? Any other packages that would be good to stabilize at the same time?
 * Upgrade GHC from various other GHC versions. How does the upgrade behave? Did haskell-updater install automatically? Does haddock work, did it get updated too?

STABLEREQ bug
Mark the bug as a STABLEREQ. Write a list of affected packages for the arch teams to stabilize. Add the arches to the bug.