Re: dh-ocaml-like checksum-based dependency adoption for Haskell?
[ I'm posting back to the Debian OCaml Maint ML on
purpose. Thanks for keeping the CC in the future ]
> Hi Zack,
> Am Dienstag, den 15.06.2010, 13:31 +0200 schrieb Stefano Zacchiroli:
>> on the OCaml half of Debian, we are kind of aware that you've
>> implemented a solution similar to ours  for enforcing sound
>> dependencies among OCaml libraries and programs.
>> That is just great, and we're happy that the solution/architecture
>> we developed has been helpful to you too, even if only as an
>> However, most of us are a bit puzzled about our poor knowledge of
>> your solution. I don't remember any contact on the
>> firstname.lastname@example.org list, and it has only been rumored :-) on
>> our side that some of you contacted us via our IRC channel, but
>> nothing more.
>> Do you have any pointers to some document/tool/... that describes
>> what you did and maybe the relationship with what we did?
>> We are just eager to know more about that, as we're excited at the
>> idea that our architecture was more general than we initially
>> expected :)
> since the academical harvest has already been brought in I did not
> write a paper :-)
> The idea of hash-based dependencies has been floating around on the
> Haskell list even before we know of dh-ocaml. At that time, rumors
> were that such a large number of virtual packages would slow down dpkg
> too much and not accepted by ftp-master, therefore we did not pursue
> this at first and went by strict-up-to-upstream-version dependencies.
The first implementation by Zack dates back to 2004 but we
haven't been fast in deploying it :)
> Then ghc6 (the compiler) started to introduce ABI hashes for the
> management of packages (in the Haskell sense). That was the point at
> which I decided that it’s time to use them in Debian as well. IIRC
> this is a minor difference to your approach: While you have to
> calculate a hash of the interface yourself, we can just use the hash
> provided by ghc6 (but shortened to 5 chars, just as yours)
We don't compute the hash for the interface. That's delivered by OCaml. We
compute only an ABI for the whole library (or package).
What we were interesting in is the details of the implementation,
or some text describing the design behind your tool. Is such a
document available or should we look at the source code?
Mehdi Dogguy مهدي الدڤي