Migration to dh_ocaml

During DebCamp (and DebConf), we have rewritten dh_ocaml (and ocaml-md5sums) to be able to compute automatically dependencies between OCaml packages. Tests have been performed on some packages (OCaml itself, findlib, camlzip, menhir) and the results were very satisfying. We consider that dh_ocaml (and related tools) are ready to be pushed in Debian. The last step, before uploading the new packages to unstable, is to test more packages and upload them to experimental and observe real results.

How it works ?

dh_ocaml uses some tools to gather informations:

ocaml-md5sums receives a list of files and has to inspect them in order to gather some informations regarding imported interfaces and defined modules and md5sum of each of them. It chooses the correct low-level tool depending on the file extension (and on the file header for bytecode binaries). Gathered informations are then stored in a file (namely, /var/lib/ocaml/md5sums/${source_package}.md5sums) which will be used later to compute dependencies.

dh_ocaml proceeds in several stages:

With CDBS, you can specify additional flags for dh_ocaml using the makefile variable OCAML_DHOCAML_FLAGS.

Steps to convert a package

TODO list

Packages with ready build-deps: