RFC: oasis2debian, a tool to create and maintain a debian/ using _oasis
Hello all,
I work on this tool since a week and it is now ready for a peer review.
It is a quite simple tool that helps to translate an _oasis to a debian
directory.
It can do several things, depending on the content of _oasis:
- package split:
- if only exec -> 1 binary pkg
- if exec + lib -> 1 bin (libXXX-ocaml-bin) + dev ( -ocaml-dev) + runtime (-ocaml)
- if more than 2 docs -> add a -ocaml-doc package
- package name:
- if one findlib hierarchy (e.g. expect, expect.str and expect.pcre)
use its base name (e.g. expect)
- otherwise name of the source with ocaml- removed
- take care of creating .doc-base for documentation defined in _oasis by
translating Document section of _oasis
- create debian/rules using debhelper 7, override target to use
"ocaml setup.ml TARGET"
- create debian/control: use package split and compute build
dependencies using BuildDepends of _oasis (for lib/exec that will be
built), use dh_ocaml for the rest
- create debian/copyright: use _oasis fields to define copyright holders
and license texts to copy
- create *.install and *.install.in files to move the result of the
package build into various binary packages
The sole "conflicting" choice, I had to make, is the split of
dev/runtime. I decided to place META and *.cma into the runtime package.
I took this decision, considering the fact that plugins may need it...
You can fetch it from our git repository:
git+ssh://git.debian.org//git/pkg-ocaml-maint/packages/oasis2debian.git
You will need to patch and install xstrp4 1.7:
http://projects.camlcity.org/projects/xstrp4.html
(both of these will be packaged in a short term future)
I have generated a debian/ directory for the following project:
git+ssh://git.debian.org/git/pkg-ocaml-maint/packages/ocamlify.git
git+ssh://git.debian.org/git/pkg-ocaml-maint/packages/ocaml-data-notation.git
git+ssh://git.debian.org/git/pkg-ocaml-maint/packages/ocaml-expect.git
git+ssh://git.debian.org/git/pkg-ocaml-maint/packages/ocaml-extunix.git
Feel free to browse the already generated debian/ and make me comments
about them, so that I can at least correct the tool. They are lintian
clean and can build in a pbuilder.
If you have any _oasis in your project, it can also be a good time to
see if my oasis2debian tool works correctly on your sources.
Thank you in advance for your feedback.
Regards,
Sylvain Le Gall
Reply to: