dh_ocaml rules [was Re: Bug#663754: ITP: hol-light ...]
Hi,
Stéphane Glondu writes:
> I am sorry, but I don't understand the distinction between
> runtime and development packages and its importance for packaging
> and dh_ocaml.
See:
http://wiki.debian.org/Teams/OCamlTaskForce?action=AttachFile&do=get&target=jfla10-dh-ocaml.pdf
After reading it a second time I came to the following
understanding:
OCaml packages are divided into three categories:
- development packages
- runtime packages
- other packages
If a package contains any cmo, cmi, cma, cmx, cmxa or cmxs file,
then it is a development package.
A package containing a (C) shared library (.so file) that is
needed to run an application that depends on an OCaml library, is
a runtime package.
All other packages are other packages. Those packages might
contain OCaml applications (bytecode or native) or documentation
or other material.
dh_ocaml recognizes runtime and development packages if they
follow the naming convention libXXX-ocaml for runtime packages
and libXXX-ocaml-dev for development packages.
Packages that contain a cmo, cmi, cma, cmx, cmxa or cmxs file but
are not called libXXX-ocaml-dev are not properly recognized as
development packages by dh_ocaml. For those packages it is
necessary to run dh_ocaml with the option
--runtime-map package-name. This will force package-name to be
considered as development package.
Is this right?
What I don't understand is the following: Consider package X
containing x.cmo, which depends on y.cmo from package Y. In this
case X must depend on the proper ABI approximation of Y,
regardless of whether dh_ocaml considers X and Y as runtime or
development package.
Bye,
Hendrik
Reply to: