On Mon, Dec 9, 2013 at 10:57 AM, Daniel Bünzli <daniel.buenzli@erratique.ch> wrote:


Le lundi, 9 décembre 2013 à 16:23, Sebastien Mondet a écrit :

> Opam's .install files should be used only to fix packages whose installation is already broken or unsufficient, shouldn't it?

Where did you get that from ?

A .install file is a good way of specifying what you want to install without having to replicate any installation logic in your package which is good when you develop and distribute many packages and need to scale.

> If you rely *only* on the .install, your package can be installed only with opam, it will break for other users (GODI, WODI, Manual Package Management™, etc.).

It can be installed by anything that understands what a .install file is, there's nothing specific to opam here. Godi is shutting down, Wodi could be make to understand .install file. Manual Package Management™, the file format of .install is very simple you could perfectly develop have a command line tool that reads it and issues the appropriate cp commands, I'm personally no longer interested in that form of package management and don't have the time to support it.



So, if everybody else have to implement them, opam's install files become a new standard for the OCaml cummunity? Do most of us agree? (I'm not against it, I just don't want to rely on 50 different standards).

(BTW, since you generate those .install files you could have generated install.sh files doing the 'cp's as easily ;) )


> I think it's good hygiene to at least provide an ocamlfind-based installation of the libraries.

As I said `ocamlfind install` doesn't allow you to install binaries, man pages, configuration files, documentation etc. With a .install file you can specify what you want to be installed to the classic unix paths (bin, etc, man, share, etc.).


yes but in practice `ocamlfind install` is enough to make most dependencies of a given package work (a few times a `cp exec $BIN` is also needed indeed).

(A while ago, before opam, a new version of GODI broke on our main platform because of some ocamlnet configuration bug, but I was able to reinstall ocaml and about 25 third-party libraries and syntax extensions from scratch without too much pain → we see great value in that package-management independence)




 
Best,

Daniel