Duncan Coutts duncan.coutts at
Mon Oct 20 15:55:26 EDT 2008

On Mon, 2008-10-20 at 20:20 +0100, Claus Reinke wrote:
> > The basic problem here is that the version number of the network package
> > has not been bumped. ..
> > .. Of course that's not true here because the package has
> > changed without the version being bumped.
> > ..
> > Indeed the only reason it's trying to rebuild it at all is because the
> > installed version has different deps from the available version, again
> > due to the fact that it changed without changing version number.
> > 
> > So the solution is for the updated network package to have its version
> > bumped and for it to be released.
> For ghc at least, couldn't cabal grep the hashes from the output of
>     find dist/ -name '*.hi' | xargs ghc --show-iface
> and associate the collection of hashes for the exposed-modules and
> cross-package imports with the version number, keeping a history of 
> these associations?

Unfortunately the interface can change depending on the way the package
is built, in particular the versions of the dependencies it is built
with. This is because packages are really functors, parameterised by
their dependencies.

For this reason we can only associate hashes with built/installed
packages, not with source packages on hackage.

However for installed packages we certainly should track the package ABI
hash. This will help in verifying the dependencies of built packages.
It's also the starting point for a nix-style persistent built-package


More information about the cabal-devel mailing list