On Thu, Aug 21, 2008 at 12:14:15PM +0100, Ian Lynagh wrote:
> 
> Is anyone (or any team) interested in taking over maintenance of ghc6
> and related packages?

A couple of people have asked me what is involved; this is what comes to
mind:

First, there is all the standard Debian maintainer stuff. That means:

* Adapting the Debian packaging for new ghc releases
* Improving the way ghc is packaged
* Fixing Debian-specific bugs reported on the Debian BTS
* Forwarding non-Debian-specific bugs reported on the Debian BTS to the
  GHC BTS
* Helping users who may occasionally e-mail you

http://www.debian.org/devel/ has a number of relevant docs, including
"New Maintainers' Guide", "Developer's Reference" and "Debian Policy
Manual".

For Haskell-specific stuff, http://urchin.earth.li/~ian/haskell-policy/
should be more-or-less up-to-date, although some details probably
differ.

What makes ghc particularly fun is:

* When you upload a package, it is automatically built on around 10
  architectures. If the build on one of them makes a broken ghc, then
  you will have to manually fix that architecture, either by doing so
  yourself or by finding a porter of that architecture to do so for you.

  One way to do so without root is to manually unpack the previous deb,
  change the paths in package.conf as appropriate, and build a new
  package.

* Sometimes ghc will break on some arches for other reasons, e.g. if gcc
  is updated and ghc doesn't work with the new gcc. This is rare on
  arches other than x86 and amd64 at the moment, as the other arches are
  currently unregisterised.

  If it does happen then you either need to find someone with a machine
  of the right arch willing to install the older gcc (or whatever)
  version so that you can compile a ghc with the fix, or re-bootstrap
  ghc on that arch.

* GHC uses a lot of memory when compiling some files, including some
  files in the ghc package itself. Language.Haskell.TH.Syntax is one
  example. This causes problems for some of the autobuilders, which
  don't have much RAM. Currently we don't build GHCi or TH on anything
  except x86 and amd64, so Language.Haskell.TH.Syntax doesn't get built,
  but with 6.10 there'll be no reason not to. We (upstream) are working
  on improving the memory use, but we're running out of time before
  6.10.

* Building GHC takes a while, so doing builds while working on the
  packaging obviously takes time (and CPU, and memory, and disk space).

* Due to cross-module-inlining, when using Haskell libraries, the
  library dependencies must have the same ABI as they did when the
  library was compiled. For normal Haskell library packages we depend on
  the exact package version, which solves this. However, the bootlibs
  come in the ghc6 package, and we don't want to have to reupload every
  single Haskell library every time ghc is tweaked, so instead you need
  to be careful not to change the ABI when uploading a new ghc package.

That's all I can think of OTTOMH.


Thanks
Ian


_______________________________________________
debian-haskell mailing list
[email protected]
http://urchin.earth.li/mailman/listinfo/debian-haskell

Reply via email to