
Hi, Am Mittwoch, den 25.08.2010, 12:03 +1000 schrieb Ivan Lazar Miljenovic:
On 24 August 2010 21:18, Joachim Breitner
wrote: Am Dienstag, den 24.08.2010, 09:30 +0100 schrieb Magnus Therning:
On Tue, Aug 24, 2010 at 06:50, Mathew de Detrich
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@joachim-breitner.de | ICQ# 74513189 | GPG-Key: 4743206C JID: nomeata@joachim-breitner.de | http://www.joachim-breitner.de/ Debian Developer: nomeata@debian.org