[Fedora-packaging] Meaning of -devel

Tom "spot" Callaway tcallawa at redhat.com
Fri May 25 19:05:20 UTC 2007


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




More information about the Fedora-packaging mailing list