Debian OCaml Packaging Policy for OCaml 3.10.2
Prev | Chapter 3. Packaging OCaml libraries | Next

# 3.2. Paths for libraries

Libraries should be installed in `/usr/lib/ocaml/3.10.2/` or in a subdirectory of this directory. This includes in particular bytecode libraries (`*.cma`), native libraries (`*.cmxa`), bytecode object files (`*.cmo`), native object files (`*.cmx`), static libraries (`*.a`) and `META` files. The only exception to this rule is for shared libraries (`dll*.so`) which should be installed in `/usr/lib/ocaml/3.10.2/stublibs`, as can it be seen in the `/usr/lib/ocaml/3.10.2/ld.conf` file.

If upstream developers already use a subdirectory of the OCaml standard library path, this path should be preserved in the Debian package but made relative to the standard library path of OCaml. Before using the provided subdirectory, packagers should obviously check if there is no subdirectory name clash with another OCaml library.

If upstream developers don't use this scheme, packagers are encouraged not to install this library in the standard library directory. They should create at least a subdirectory per source package (in order to avoid name clashes). Packagers should also consider to do a larger separation by creating a subdirectory per binary package (in order to avoid META name clash). A suggested rule to choose name for this subdirectory is to use either the package name provided by the META of the upstream, or the name of the library itself.

Prev | Home | Next
Packaging OCaml libraries | Up | Handling dependencies on OCaml