Ticket #474 (new defect)
cabal-install needlessly reinstalls an existing package
|Reported by:||judah||Owned by:||kosmikus|
With ghc-6.10.1, Cabal-220.127.116.11 and cabal-install-0.6 (or HEAD):
$ cabal install cabal-install --dry-run -v [..] Reading available packages... Resolving dependencies... [..] selecting Cabal-18.104.22.168 (installed or hackage) [..] selecting process-22.214.171.124 (installed or hackage) and discarding filepath-1.0, process-126.96.36.199 and 188.8.131.52 [..] In order, the following would be installed: Cabal-184.108.40.206 (reinstall) changes: process-220.127.116.11 -> 18.104.22.168 cabal-install-0.6.0 (new package)
The ghc package depends on Cabal-22.214.171.124 and process-126.96.36.199, so rebuilding Cabal to depend on process-188.8.131.52 causes ghc to have inconsistent dependencies. In particular:
$ cabal install cabal-install [succeeds, but reinstalls Cabal-184.108.40.206] $ cabal install ghci-haskeline Resolving dependencies... cabal: dependencies conflict: ghc-6.10.1 requires process ==220.127.116.11 however process-18.104.22.168 was excluded because ghc-6.10.1 requires process ==22.214.171.124
It seems like the right thing to do would be to use process-126.96.36.199 when building cabal-install.