From 4f30b29acf385c982098cc6040c9c85dd682742c Mon Sep 17 00:00:00 2001 From: Mehdi Dogguy Date: Wed, 22 Jul 2009 15:31:13 +0200 Subject: [PATCH] Make ocaml-interp binary package lighter than it has never been before In previuous versions of ocaml-interp, there was: - Some cma files floating around (~ 2.3MB): + toplevellib.cma: Not used by the toplevel but rather by ocamlmktop which is in ocaml-nox + stdlib.cma and dynlink.cma: Not used by the toplevel We moved all theses cma files to ocaml-nox - Some cmi/mli files (~ 300KB): We moved them to ocaml-base-nox, which is a dependency of ocaml-interp. Therefore, only the ocaml toplevel is kept in ocaml-interp. This change allow dh_ocaml to compute automatically the dependencies more sainly and without handling special cases for the compiler. --- debian/changelog | 1 + debian/control | 13 +++++++ debian/control.in | 13 +++++-- debian/ocaml-base-nox.install.in | 57 +++++++++++++++++++++++++++++ debian/ocaml-interp.install.in | 61 -------------------------------- debian/ocaml-nox.install.in | 3 ++ 6 files changed, 85 insertions(+), 63 deletions(-) diff --git a/debian/changelog b/debian/changelog index 88f20cba..66a98ae6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ ocaml (3.11.1-3) UNRELEASED; urgency=low * Add two tools: - ocamlbyteinfo to read content of bytecode binaries - ocamlplugininfo to read content of shared object files (.cmxs) + * Move some files from ocaml-interp to ocaml-nox and ocaml-base-nox * Add myself to Uploaders -- Mehdi Dogguy Tue, 21 Jul 2009 17:09:31 +0200 diff --git a/debian/control b/debian/control index 98f0f5da..710a52a3 100644 --- a/debian/control +++ b/debian/control @@ -43,11 +43,15 @@ Provides: ${F:BestProvides}, libnums-ocaml-dev Replaces: + ocaml-interp (<< 3.11.1-2), camlp4 (<< 3.10.0), + focaml (<< 3.07.2a-3), libnums-ocaml-dev Conflicts: + ocaml-interp (<< 3.11.1-2), camlp4 (<< 3.10.0), camlidl (<< 1.04), + ocaml (<< 3.07.2a-3), libnums-ocaml-dev Description: ML implementation with a class-based object system (no X) Objective Caml (OCaml) is an implementation of the ML language, based on @@ -159,6 +163,15 @@ Provides: ocaml-base-nox-${F:OCamlABI}, libnums-ocaml Depends: ${shlibs:Depends}, ${misc:Depends} +Replaces: + ocaml-interp (<< 3.11.1-2), + ocaml-base (<< 3.07.2a-3), + libnums-ocaml +Conflicts: + ocaml-interp (<< 3.11.1-2), + ocaml (<< 3.04-2), + ocaml-base (<< 3.07.2a-3), + libnums-ocaml Description: Runtime system for OCaml bytecode executables (no X) Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system diff --git a/debian/control.in b/debian/control.in index c58469e9..ce3144c3 100644 --- a/debian/control.in +++ b/debian/control.in @@ -45,10 +45,12 @@ Provides: ${F:BestProvides}, libnums-ocaml-dev Replaces: + ocaml-interp (<< 3.11.1-2), camlp4 (<< 3.10.0), focaml (<< 3.07.2a-3), libnums-ocaml-dev Conflicts: + ocaml-interp (<< 3.11.1-2), camlp4 (<< 3.10.0), camlidl (<< 1.04), ocaml (<< 3.07.2a-3), @@ -163,8 +165,15 @@ Provides: ocaml-base-nox-${F:OCamlABI}, libnums-ocaml Depends: ${shlibs:Depends}, ${misc:Depends} -Replaces: ocaml-base (<< 3.07.2a-3), libnums-ocaml -Conflicts: ocaml (<< 3.04-2), ocaml-base (<< 3.07.2a-3), libnums-ocaml +Replaces: + ocaml-interp (<< 3.11.1-2), + ocaml-base (<< 3.07.2a-3), + libnums-ocaml +Conflicts: + ocaml-interp (<< 3.11.1-2), + ocaml (<< 3.04-2), + ocaml-base (<< 3.07.2a-3), + libnums-ocaml Description: Runtime system for OCaml bytecode executables (no X) Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system diff --git a/debian/ocaml-base-nox.install.in b/debian/ocaml-base-nox.install.in index 2470430f..a5a38510 100644 --- a/debian/ocaml-base-nox.install.in +++ b/debian/ocaml-base-nox.install.in @@ -1,5 +1,6 @@ usr/bin/ocamlrun usr/share/man/man1/ocamlrun.1 + toplevel/*.mli @OCamlStdlibDir@ @OCamlDllDir@/dllunix.so @OCamlDllDir@/dllstr.so @OCamlDllDir@/dllbigarray.so @@ -19,3 +20,59 @@ OPT: @OCamlStdlibDir@/str.cmxs OPT: @OCamlStdlibDir@/bigarray.cmxs @OCamlStdlibDir@/nums.cma OPT: @OCamlStdlibDir@/nums.cmxs + @OCamlStdlibDir@/arg.cmi + @OCamlStdlibDir@/array.cmi + @OCamlStdlibDir@/arrayLabels.cmi + @OCamlStdlibDir@/buffer.cmi + @OCamlStdlibDir@/callback.cmi + @OCamlStdlibDir@/camlinternalOO.cmi + @OCamlStdlibDir@/char.cmi + @OCamlStdlibDir@/complex.cmi + @OCamlStdlibDir@/digest.cmi + @OCamlStdlibDir@/filename.cmi + @OCamlStdlibDir@/format.cmi + @OCamlStdlibDir@/gc.cmi + @OCamlStdlibDir@/genlex.cmi + @OCamlStdlibDir@/hashtbl.cmi + @OCamlStdlibDir@/int32.cmi + @OCamlStdlibDir@/int64.cmi + @OCamlStdlibDir@/lazy.cmi + @OCamlStdlibDir@/lexing.cmi + @OCamlStdlibDir@/list.cmi + @OCamlStdlibDir@/listLabels.cmi + @OCamlStdlibDir@/map.cmi + @OCamlStdlibDir@/marshal.cmi + @OCamlStdlibDir@/moreLabels.cmi + @OCamlStdlibDir@/nativeint.cmi + @OCamlStdlibDir@/obj.cmi + @OCamlStdlibDir@/oo.cmi + @OCamlStdlibDir@/parsing.cmi + @OCamlStdlibDir@/pervasives.cmi + @OCamlStdlibDir@/printexc.cmi + @OCamlStdlibDir@/printf.cmi + @OCamlStdlibDir@/queue.cmi + @OCamlStdlibDir@/random.cmi + @OCamlStdlibDir@/scanf.cmi + @OCamlStdlibDir@/set.cmi + @OCamlStdlibDir@/sort.cmi + @OCamlStdlibDir@/stack.cmi + @OCamlStdlibDir@/stdLabels.cmi + @OCamlStdlibDir@/std_exit.cmi + @OCamlStdlibDir@/stream.cmi + @OCamlStdlibDir@/string.cmi + @OCamlStdlibDir@/stringLabels.cmi + @OCamlStdlibDir@/sys.cmi + @OCamlStdlibDir@/weak.cmi + @OCamlStdlibDir@/toploop.cmi + @OCamlStdlibDir@/topdirs.cmi + @OCamlStdlibDir@/topmain.cmi + @OCamlStdlibDir@/unix.cmi + @OCamlStdlibDir@/unixLabels.cmi + @OCamlStdlibDir@/str.cmi + @OCamlStdlibDir@/dynlink.cmi + @OCamlStdlibDir@/bigarray.cmi + @OCamlStdlibDir@/big_int.cmi + @OCamlStdlibDir@/nat.cmi + @OCamlStdlibDir@/num.cmi + @OCamlStdlibDir@/ratio.cmi + @OCamlStdlibDir@/arith_status.cmi diff --git a/debian/ocaml-interp.install.in b/debian/ocaml-interp.install.in index 0b744ce6..badda65e 100644 --- a/debian/ocaml-interp.install.in +++ b/debian/ocaml-interp.install.in @@ -1,64 +1,3 @@ usr/bin/ocaml usr/share/man/man1/ocaml.1 debian/ocaml.xpm /usr/share/pixmaps -toplevel/*.mli @OCamlStdlibDir@ - -@OCamlStdlibDir@/stdlib.cma -@OCamlStdlibDir@/arg.cmi -@OCamlStdlibDir@/array.cmi -@OCamlStdlibDir@/arrayLabels.cmi -@OCamlStdlibDir@/buffer.cmi -@OCamlStdlibDir@/callback.cmi -@OCamlStdlibDir@/camlinternalOO.cmi -@OCamlStdlibDir@/char.cmi -@OCamlStdlibDir@/complex.cmi -@OCamlStdlibDir@/digest.cmi -@OCamlStdlibDir@/filename.cmi -@OCamlStdlibDir@/format.cmi -@OCamlStdlibDir@/gc.cmi -@OCamlStdlibDir@/genlex.cmi -@OCamlStdlibDir@/hashtbl.cmi -@OCamlStdlibDir@/int32.cmi -@OCamlStdlibDir@/int64.cmi -@OCamlStdlibDir@/lazy.cmi -@OCamlStdlibDir@/lexing.cmi -@OCamlStdlibDir@/list.cmi -@OCamlStdlibDir@/listLabels.cmi -@OCamlStdlibDir@/map.cmi -@OCamlStdlibDir@/marshal.cmi -@OCamlStdlibDir@/moreLabels.cmi -@OCamlStdlibDir@/nativeint.cmi -@OCamlStdlibDir@/obj.cmi -@OCamlStdlibDir@/oo.cmi -@OCamlStdlibDir@/parsing.cmi -@OCamlStdlibDir@/pervasives.cmi -@OCamlStdlibDir@/printexc.cmi -@OCamlStdlibDir@/printf.cmi -@OCamlStdlibDir@/queue.cmi -@OCamlStdlibDir@/random.cmi -@OCamlStdlibDir@/scanf.cmi -@OCamlStdlibDir@/set.cmi -@OCamlStdlibDir@/sort.cmi -@OCamlStdlibDir@/stack.cmi -@OCamlStdlibDir@/stdLabels.cmi -@OCamlStdlibDir@/std_exit.cmi -@OCamlStdlibDir@/stream.cmi -@OCamlStdlibDir@/string.cmi -@OCamlStdlibDir@/stringLabels.cmi -@OCamlStdlibDir@/sys.cmi -@OCamlStdlibDir@/weak.cmi -@OCamlStdlibDir@/toplevellib.cma -@OCamlStdlibDir@/toploop.cmi -@OCamlStdlibDir@/topdirs.cmi -@OCamlStdlibDir@/topmain.cmi -@OCamlStdlibDir@/unix.cmi -@OCamlStdlibDir@/unixLabels.cmi -@OCamlStdlibDir@/str.cmi -@OCamlStdlibDir@/dynlink.cmi -@OCamlStdlibDir@/dynlink.cma -@OCamlStdlibDir@/bigarray.cmi -@OCamlStdlibDir@/big_int.cmi -@OCamlStdlibDir@/nat.cmi -@OCamlStdlibDir@/num.cmi -@OCamlStdlibDir@/ratio.cmi -@OCamlStdlibDir@/arith_status.cmi diff --git a/debian/ocaml-nox.install.in b/debian/ocaml-nox.install.in index b6c80f2d..1288e419 100644 --- a/debian/ocaml-nox.install.in +++ b/debian/ocaml-nox.install.in @@ -13,6 +13,9 @@ debian/native-archs @OCamlStdlibDir@ OPT: usr/bin/ocamlbuild.native OPT: usr/bin/ocamlopt + @OCamlStdlibDir@/stdlib.cma + @OCamlStdlibDir@/toplevellib.cma + @OCamlStdlibDir@/dynlink.cma @OCamlStdlibDir@/addlabels @OCamlStdlibDir@/scrapelabels @OCamlStdlibDir@/caml -- 2.30.2