[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Generated dependencies are insufficient

Joachim Breitner wrote:

> module dependencies: Data.List.Utils
> package dependencies: ghc-prim integer base array-
>                       containers- bytestring- mtl- regex-base-0.93.1
>                       regex-posix-0.93.2 regex-compat-0.92
> [..]
> Now, the version of missingh in the archive until a few days ago was
> built against regex-compat (on which it does depend properly) when that
> was built against regex-posix-0.93.1. regex-posix-0.93.2 was then
> uploaded, and regex-compat had a binNMU to be installable again. Despite
> having the same upstream version, it’s ABI did change, breaking packages
> that depend on regex-compat.

This is one of the problems I ran into but I didn't manage to figure out
what the real issue was.

> The proper solution is, I guess, what I proposed a long while ago and
> which is done by the ocaml team: Use virtual packages that reflect the
> ABI hash (see above) to guarantee that packages work iff their
> dependencies are installed.

Definitely the right way to go.
> Now, according to http://hackage.haskell.org/trac/ghc/wiki/Status/Oct09,
> ghc6-6.12 will provide us with a ABI hash on the package level. I can
> probably afford to wait for that, and fix problems manually until then.
> We really should make sure we switch to such a system with the package
> recompilations for ghc6-6.12!

Any chance we could get a 6.12 in experimental so we can experiment
with things like this ABI hash?

> Any objections?

None at all. I think its a great idea.

> Anyone willing to step up as the main
> driver for this issue (i.e. implementing it in haskell-devscripts in
> time)?

Whats involved? It might help if you can map out whats required.

> We can probably borrow ideas and code from the OCAML team.

I have a read of the paper  you linked to recently from the Ocaml team.

Erik de Castro Lopo

Reply to: