[Haskell-cafe] Hackage on Linux

Joachim Breitner mail at joachim-breitner.de
Wed Aug 25 14:38:42 EDT 2010


Hi,

Am Mittwoch, den 25.08.2010, 12:03 +1000 schrieb Ivan Lazar Miljenovic:
> On 24 August 2010 21:18, Joachim Breitner <mail at joachim-breitner.de> wrote:
> > Am Dienstag, den 24.08.2010, 09:30 +0100 schrieb Magnus Therning:
> >> On Tue, Aug 24, 2010 at 06:50, Mathew de Detrich <deteego at gmail.com> wrote:
> >> > - in some situations doing a general update with arch (through clyde or
> >> > packer)  breaks ghc (last time it happened packer tried to uninstall/update
> >> > arch packages which failed because those packages had dependencies. The
> >> > files got removed but since unregister failed ghc thought they still
> >> > existed)
> >>
> >> This is arguably an error in the Arch packages.  The dependencies aren't quite
> >> as strict as they really should be.  I've taken the approach of never letting
> >> pacman update any haskell-* package.  Instead I do a small song-and-dance
> >> where I first remove the packages in question, and any package that depends on
> >> them, then I re-install what I just removed.
> >
> > In Debian, this cannot happen any more, as libraries are tied to the
> > packages of their dependencies via the ABI hash used by ghc. (If I am
> > correctly understanding the symptoms). So using apt-get upgrade will
> > never break any Debian-installed packages.
> 
> Interesting; I've been discussing with Ciaran McCreesh on a
> possibility of getting something like that into Paludis for use with
> Exherbo (a few non-Haskell related things are starting to annoy me
> with the petty politics, etc. of Gentoo and Exherbo has some really
> nice ideas).  How exactly do you do this?  Register the ABI hash upon
> installation and check if it ever changes?  Or is this all done when
> you build the package since Debian uses binary packages?

the latter. Build-Dependencies are unversioned or matching the Cabal
range. At build time, the ABI of the library is used to construct the
name of a „virtual package“ which is then Provide:’ed. For each
dependency, the „virtual package“ containing the hash is depended upon.
The code is at
http://darcs.debian.org/pkg-haskell/haskell-devscripts/
and the (not particularly pretty) result can be seen at
http://packages.debian.org/sid/libghc6-xmonad-contrib-dev

> > OTOH, you cannot expect Debian to always and immediately install the
> > latest Cabal versions – there are possibly good reasons for not
> > upgrading.
> 
> Yes, least of which is someone spending the time to notice that a
> package is out of date and bothering to update it + test that update
> (including any packages that depend upon it).

..and consider whether the update is an improvement and worth the
trouble. New is not always better.

Greetings,
Joachim

-- 
Joachim "nomeata" Breitner
  mail: mail at joachim-breitner.de | ICQ# 74513189 | GPG-Key: 4743206C
  JID: nomeata at joachim-breitner.de | http://www.joachim-breitner.de/
  Debian Developer: nomeata at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20100825/9f698992/attachment.bin


More information about the Haskell-Cafe mailing list