Posts Tagged ‘debian’

Debian Haskell packaging team getting underway

Saturday, July 4th, 2009

It is reasonably well known amongst Haskell enthusiasts who use Debian/Ubuntu that the experience of using and developing with Haskell on these distributions is, to put it diplomatically, not as good as some others are able to provide (Arch, I'm looking at you, you sexy heroes). A couple of recent mails to debian-haskell have made this abundantly clear to us; we have a bad situation and blocking on maintainers (especially since some of them appear to be inactive) is just making things worse.

Enter the Debian Haskell Packaging Team! This had been proposed previously, but never carried forward for various reasons – including, importantly, nobody just rolling up their sleeves and getting it done. Recently John Goerzen wrote a mail which shone a bright light on several areas of our Haskell infrastructure that need work. This seems to have spurred several people into action, and John took the necessary administrative steps to get the pkg-haskell team back up on its feet (it did indeed exist previously but seems to have fallen into disrepair with only two members). As I write, there are now several packages under team maintainership:

laney-guest@alioth:/git/pkg-haskell$ ls
agda.git    haskell-convertible.git  haskell-ghc-paths.git  hdbc.git
gtk2hs.git  haskell-ghc-mtl.git      haskell-x11.git

laney-guest@alioth:/darcs/pkg-haskell$ ls
_darcs    haskell-ghc-mtl    haskell-haskeline  haskell-ifelse        haskell-terminfo
gtk2hs    haskell-ghc-paths  haskell-hint       haskell-monadcatchio-mtl    haskell-zlib

We truly live in exciting times (if you care about this sort of thing). Now, as soon as the debates about group policy are over, and we've decided what VCS to use (urgh…), we should be able to get down to some actual work.

But why will this help? The main areas we have problems with are:

  • Core infrastructure packages (outside of the GHC complier) being out of date as they are maintained by inactive developers.
  • Uninstallability caused by new upstream releases of GHC. GHC releases make no ABI compatibility guarantees so with each new upstream version we need to rebuild the entire dependency chain. This takes time and can not always be done through binNMUs. Inactive maintainers can again block here.

Being able to grind through all packages and fix/upload on new GHC releases will provide a massive improvement to the churn that is currently inevitable after an upstream release. And being able to update out of date packages is an obvious win for team maintainership.

Once we have these issues cleaned up, we can move on to the real goal of implementing the Haskell Platform in Debian. We should now be better prepared to cope with the increase in package load that this will necessitate. Contributors, too, in seeing more cooperation should feel more inclined to give their time.

If you're reading this and would like to get involved with the team, helping us to maintain existing packages and to package up new libraries then join us at #debian-haskell on OFTC. We'd love to see you along.

Here's to a happy future!

Now running Lenny (and a workaround for a Grub bug)

Monday, February 16th, 2009

. o O (WordPress 2.7.1 is pretty sexy)

Congratulations on mankind for reaching the splendid milestone that is 1234567890 seconds since 1970 began. Who'd have thought we'd make it this far?

But really, congratulations on the Debian team for releasing Lenny (I even have one package uploaded there)! The point of this post is mainly to point people upgrading their Xen DomUs of a bug that I encountered and how to fix it (thanks to Andy Smith).

When doing the upgrade I got this message:

laney@cripps:~$ sudo dpkg --configure -a
Setting up linux-image-2.6.26-1-xen-686 (2.6.26-13) ...
update-initramfs: Generating /boot/initrd.img-2.6.26-1-xen-686
Searching for GRUB installation directory ... found: /boot/grub
warning: grub-probe can't find drive for /dev/sda1.
grub-probe: error: Cannot find a GRUB drive for /dev/sda1. Check your
device.map.

dpkg: error processing linux-image-2.6.26-1-xen-686 (--configure):
subprocess post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of linux-image-2.6-xen-686:
linux-image-2.6-xen-686 depends on linux-image-2.6.26-1-xen-686; however:
Package linux-image-2.6.26-1-xen-686 is not configured yet.
dpkg: error processing linux-image-2.6-xen-686 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-xen-686:
linux-image-xen-686 depends on linux-image-2.6.26-1-xen-686; however:
Package linux-image-2.6.26-1-xen-686 is not configured yet.
dpkg: error processing linux-image-xen-686 (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
linux-image-2.6.26-1-xen-686
linux-image-2.6-xen-686
linux-image-xen-686

This is apparently a bug in grub-probe when dealing with Xen virtual machines. A post by Andy here gives the magic incantation to fix it:

sudo sh -c "echo '(hd0) /dev/sda' > /boot/grub/device.map && cd /dev && mknod sda b 202 0"

(you might need to change sda to xvda depending on what your error says).

A quick dpkg --configure -a later and everything is hunky-dory. Now in a sexy Lenny system in which everything seems to just work, just like the marketing says. Some Apache and MySQL warnings to fix up, but nothing too major. Yet.

(on a side-note – I got MOTU recently. Breakage coming to an Ubuntu near you. Yay!)