On Fri, 2007-05-25 at 20:01 +0100, Richard W.M. Jones wrote:
Is there a policy which describes precisely what should go into a
-devel
subpackage?
Here is an example case where I'm unsure:
In OCaml there's a thing called the "toplevel". Think of it as being
like the python command line (where you just type "python" on its own,
then start typing in Python expressions).
$ ocaml -I +calendar
Objective Caml version 3.09.3
# #load "unix.cma";;
# #load "str.cma";;
# #load "calendar.cma";;
# let d = Printer.DatePrinter.from_string "2007-01-01";;
val d : Printer.DatePrinter.t = <abstr>
# Printer.DatePrinter.to_string (Date.next d `Week);;
- : string = "2007-01-08"
So my question: If I'm packaging ocaml-calendar (a library) then should
the parts which make the above possible go into the main package or
ocaml-calendar-devel?
We've already determined that OCaml is ... special.
Here's the rule of thumb I've always used:
In the traditional library/binary model:
The main package is for libraries and components that another binary
would need to execute. I can't _run_ foo without libbar.so.6 being
present.
The -devel package is for headers and components that are needed to
build that binary. I can't _build_ foo without bar.h being present.
So, in the OCaml universe, I'd say those .cma files fall into the main
package, as I can't run _foo_ without those .cma files present.
Note that I know absolutely NOTHING about OCaml besides what you've told
me.
~spot