From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id WAA19781; Tue, 25 Feb 2003 22:55:03 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id WAA19865 for ; Tue, 25 Feb 2003 22:54:59 +0100 (MET) Received: from ep09.kernel.pl (ep09.kernel.pl [212.87.11.162]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h1PLswH28879 for ; Tue, 25 Feb 2003 22:54:58 +0100 (MET) Received: (qmail 11287 invoked by uid 566); 25 Feb 2003 21:54:57 -0000 Date: Tue, 25 Feb 2003 22:48:33 +0100 From: Michal Moskal To: caml-list@inria.fr Subject: Re: [Caml-list] Alternative proposal: COAN Message-ID: <20030225214833.GA13418@roke.freak> References: <02103BF1-4835-11D7-B97A-000A95773ED2@rouaix.org> <15963.19322.759255.37091@gargle.gargle.HOWL> <20030225171550.GA5041@stratocaster.home> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030225171550.GA5041@stratocaster.home> User-Agent: Mutt/1.4i X-PGP-Fingerprint: CF89 1B14 11BE 1CC9 2CA3 7497 5E32 69B4 BC71 B4C2 X-AntiVirus: scanned for viruses by AMaViS 0.2.1 (http://amavis.org/) Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Tue, Feb 25, 2003 at 12:15:50PM -0500, Eric C. Cooper wrote: > I have gotten into the habit of using apt-get for all the Perl modules > I need to install, rather than going to CPAN. The Debian maintainers > have done the hard work of specifying the dependencies, install > scripts, etc. so that it's easy to install and uninstall them. I'm > sure I get only a small subset of CPAN that way, but the quality > control has been worth it, and I haven't needed anything that wasn't > already Debianized. > > This is mainly valuable because it is the *same* apt-get tool used for > everything on the system, not a parallel tool just for Perl. It makes > it easier for Perl applications to be mainstream rather than marginal, > because other packages can easily and robustly specify dependencies on > the Perl apps. > > For these reasons, a parallel tool just for OCaml would be less useful than > packaging the relevant libraries as Debian packages (like Sven Luther and > others have done -- thanks!) But that doesn't help non-Debian OCaml users. Look how much perl modules is debianized and how much ocaml modules is. I can only give figures for PLD (rpms): ocaml - 29, perl - 961. Now this is not mainly because there is lot more perl modules available. The main problem is that for average perl package all you need to do to put it into rpm is: %build %{__perl} Makefile.PL %{__make} %install rm -rf $RPM_BUILD_ROOT %{__make} install DESTDIR=$RPM_BUILD_ROOT CPAN modules are standardized. That's the main advantage of them. We need this kind of stuff for ocaml. What we should standardize? IMHO: 1. Naming conventions. Maybe some guidelines for package names. Anyway for package foo, version 1.2.3: - source tarball should be foo-1.2.3.tar.gz - it should unpack all it's files into foo-1.2.3 directory (these are good GNU practices anyway) 2. Build procedure. We can either use OCamlMakefile, ocamake, or some ocaml script. But make it standard for all COAN packages. Preferably makefiles should be generated or build process should be performed by a special tool, so it is possible for example to add DESTDIR support, or shared library support if it's added to ocaml, in one place instead of hundreds of COAN packages. In any event building COAN package should be matter of one command. And it should be the same command for all COAN packages. 3. Installation. IMHO packages should be installed to `ocamlc -where`/package-name. Installation tool, whatever it is, should support DESTDIR (i.e. specifying fake root directory). 4. Documentation. But this should be easy -- just use ocamldoc, and maybe some additional files (in pkg-version/doc/). 5. Enforce META files for findlib? 6. Maybe some metafile describing package and dependencies? From which .spec for rpm and makefile rules for debs could be generated. Preferably in XML. Example: MySQL bindings Wiazania MySQL This package provides bindings to MySQL server, blah... blah... .... BSD-like Bindings/Database Note that this does not overlap much with META-files. Intention is that this meta.xml file should be distributed with sources, not generated during build. META file might need to be generated (for example to embed C linker option in it). Just my 0.02PLN, mainly from packager point of view. In case I'm being too rpmcentric, Sven please correct me :-) -- : Michal Moskal ::::: malekith/at/pld-linux.org : GCS {C,UL}++++$ a? !tv : PLD Linux ::::::: Wroclaw University, CS Dept : {E-,w}-- {b++,e}>+++ h ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners