
#474: cabal-install needlessly reinstalls an existing package ---------------------------------+------------------------------------------ Reporter: judah | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: cabal-install tool | Version: 1.6.0.1 Severity: normal | Keywords: Difficulty: unknown | Ghcversion: Platform: | ---------------------------------+------------------------------------------ With ghc-6.10.1, Cabal-1.6.0.1 and cabal-install-0.6 (or HEAD): {{{ $ cabal install cabal-install --dry-run -v [..] Reading available packages... Resolving dependencies... [..] selecting Cabal-1.6.0.1 (installed or hackage) [..] selecting process-1.0.1.1 (installed or hackage) and discarding filepath-1.0, process-1.0.0.0 and 1.0.1.0 [..] In order, the following would be installed: Cabal-1.6.0.1 (reinstall) changes: process-1.0.1.0 -> 1.0.1.1 cabal-install-0.6.0 (new package) }}} The `ghc` package depends on `Cabal-1.6.0.1` and `process-1.0.1.0`, so rebuilding `Cabal` to depend on `process-1.0.1.1` causes `ghc` to have inconsistent dependencies. In particular: {{{ $ cabal install cabal-install [succeeds, but reinstalls Cabal-1.6.0.1] $ cabal install ghci-haskeline Resolving dependencies... cabal: dependencies conflict: ghc-6.10.1 requires process ==1.0.1.0 however process-1.0.1.0 was excluded because ghc-6.10.1 requires process ==1.0.1.1 }}} It seems like the right thing to do would be to use `process-1.0.1.0` when building `cabal-install`. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/474 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects