Proper dependencies, please!

Yesterday there was an update to haskell-x11 available (1.4.6.1) and pacman was happy with installing it. GHC however, was not since a few of the other installed packages depended on version 1.4.5. Despite ghc-pkg complaining loudly pacman pushed on and in the end I was left with a somewhat broken system. To fix it I ran "pacman -Rcs haskell-x11", but that of course means I can't use xmonad until it has been recompiled against the newer haskell-x11. AFAICS this all stems from xmonad having the dependency on "haskell-x11" when it in fact ought be on "haskell-x11>=1.4.5 haskell<1.4.6". Is it possible to get these more specific dependencies into PKGBUILDs in some automated fashion, so that breakage like this can be easily avoided? /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

magnus:
Yesterday there was an update to haskell-x11 available (1.4.6.1) and pacman was happy with installing it. GHC however, was not since a few of the other installed packages depended on version 1.4.5. Despite ghc-pkg complaining loudly pacman pushed on and in the end I was left with a somewhat broken system.
To fix it I ran "pacman -Rcs haskell-x11", but that of course means I can't use xmonad until it has been recompiled against the newer haskell-x11.
AFAICS this all stems from xmonad having the dependency on "haskell-x11" when it in fact ought be on "haskell-x11>=1.4.5 haskell<1.4.6".
Is it possible to get these more specific dependencies into PKGBUILDs in some automated fashion, so that breakage like this can be easily avoided?
Ah, so the binary xmonad has more precise dependencies than the src xmonad -- so when cabal2arch generates a PKGBUILD -- one that works for AUR -- it will actually be subtly broken for the binary installs, where the ABI compat requires only one version of each dependency. I think we could do this -- it would be done when moving a PKGBUILD into the binary repos -- and pinning the version at that point. -- Don

Don Stewart wrote:
magnus:
Yesterday there was an update to haskell-x11 available (1.4.6.1) and pacman was happy with installing it. GHC however, was not since a few of the other installed packages depended on version 1.4.5. Despite ghc-pkg complaining loudly pacman pushed on and in the end I was left with a somewhat broken system.
To fix it I ran "pacman -Rcs haskell-x11", but that of course means I can't use xmonad until it has been recompiled against the newer haskell-x11.
AFAICS this all stems from xmonad having the dependency on "haskell-x11" when it in fact ought be on "haskell-x11>=1.4.5 haskell<1.4.6".
Is it possible to get these more specific dependencies into PKGBUILDs in some automated fashion, so that breakage like this can be easily avoided?
Ah, so the binary xmonad has more precise dependencies than the src xmonad -- so when cabal2arch generates a PKGBUILD -- one that works for AUR -- it will actually be subtly broken for the binary installs, where the ABI compat requires only one version of each dependency.
Yes, I guess this is since xmonad will rebuild itself in order to incorporate the user's configuration. The current scheme will continue to work fine for "regular" binaries. At least as long as GHC spits out statically linked binaries. I suspect the situation changes for DLLs.
I think we could do this -- it would be done when moving a PKGBUILD into the binary repos -- and pinning the version at that point.
I actually think that this is a much wider problem than just xmonad. My experience seems to back up Debian's very strict policy on dependencies among library packages compiled with GHC (see [1]). /M [1]: http://pkg-haskell.alioth.debian.org/haskell-policy/ch-libraries.html#s-libr... -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe
participants (2)
-
Don Stewart
-
Magnus Therning