[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: