[Hackage] #513: Version of Cabal lib used to build Setup.hs is not tracked.

#513: Version of Cabal lib used to build Setup.hs is not tracked. ----------------------------+----------------------------------------------- Reporter: duncan | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.6.0.1 Severity: normal | Keywords: Difficulty: unknown | Ghcversion: Platform: | ----------------------------+----------------------------------------------- Neil ran into these symptoms: {{{ Cabal documents itself as having a --builddir command to change the placement of dist stuff, which is fantastic. However, running with GHC 6.8.3, Cabal 1.6.0.2, I get: cabal build --builddir=../../../_make/Tools/ext/haddock-0.9/dist setup.exe: Unrecognised flags: --builddir=../../../_make/Tools/ext/haddock-0.9/dist i.e. cabal accepts the --builddir command, but the setup that cabal builds doesn't. Why? }}} Turns out it was because the `Setup` executable had been compiled previously using an older Cabal lib that did not understand the `--builddir` flag. Two things are needed to fix this, one is a proper checked specification of the command line interface so that cabal-install always knows what flags the `Setup` supports. The other is to track the version of the Cabal lib used to build the `Setup` and to recompile it if that changes. Note that this should happen automagically if we use a proper dependency tracking framework. In the mean time it'd require keeping an extra state file in `dist/setup`. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/513 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects
participants (1)
-
Hackage