From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 83B1F7ED25 for ; Mon, 22 Jul 2013 10:06:53 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of edwin+ml-ocaml@etorok.net) identity=pra; client-ip=176.9.138.55; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="edwin+ml-ocaml@etorok.net"; x-sender="edwin+ml-ocaml@etorok.net"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of edwin+ml-ocaml@etorok.net designates 176.9.138.55 as permitted sender) identity=mailfrom; client-ip=176.9.138.55; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="edwin+ml-ocaml@etorok.net"; x-sender="edwin+ml-ocaml@etorok.net"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of postmaster@mail.etorok.net designates 176.9.138.55 as permitted sender) identity=helo; client-ip=176.9.138.55; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="edwin+ml-ocaml@etorok.net"; x-sender="postmaster@mail.etorok.net"; x-conformance=sidf_compatible; x-record-type="v=spf1" X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjAFAArn7FGwCYo3/2dsb2JhbABagmUhwTWBDRZ0giQBAQQBQAEBBSYLAgQLCxgJFg8JAwIBAgFFEwgCEAqHbAcDpHSEQgEFK4x4Bo5xgSyDfokljjuRTYMVgWc X-IPAS-Result: AjAFAArn7FGwCYo3/2dsb2JhbABagmUhwTWBDRZ0giQBAQQBQAEBBSYLAgQLCxgJFg8JAwIBAgFFEwgCEAqHbAcDpHSEQgEFK4x4Bo5xgSyDfokljjuRTYMVgWc X-IronPort-AV: E=Sophos;i="4.89,717,1367964000"; d="scan'208";a="26836487" Received: from mail.etorok.net ([176.9.138.55]) by mail2-smtp-roc.national.inria.fr with ESMTP; 22 Jul 2013 10:06:51 +0200 Received: from [IPv6:2a02:2f09:4180:7400:fc85:8090:f9:e910] (unknown [IPv6:2a02:2f09:4180:7400:fc85:8090:f9:e910]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.etorok.net (Postfix) with ESMTPSA id DB99F46D8 for ; Mon, 22 Jul 2013 10:06:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=etorok.net; s=mailout; t=1374480410; bh=HWeZz/3erDyEVyESYYrKNyj631xQabwd2VQ1Y2TTLQA=; l=4733; h=Date:From:To:References:In-Reply-To:From; b=xYei5mC0jiolI5/7k4c+LU7lYPdB8ueDdxYotfbZDZ2KEnpRtgQE6cLBHcfkupVUq wTVRuLsSjBGW5FsIYbivTke5t3TRbo8oWU1JPEwYx0eGBTOd6Q+JRlXk8hKdKna942 1UH4Eu3ndxZFNDRj/eEU7j5pJCcORA/46itX928I= Message-ID: <51ECE818.9060908@etorok.net> Date: Mon, 22 Jul 2013 11:06:48 +0300 From: =?ISO-8859-1?Q?T=F6r=F6k_Edwin?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130630 Icedove/17.0.7 MIME-Version: 1.0 To: caml-list@inria.fr References: <383739793.214096184.1374254520546.JavaMail.root@zimbra27-e5.priv.proxad.net> <7b4c87b5d9aa76728e239f0a2172b795.squirrel@gps.dynxs.de> <6796313D-9F02-4C70-87D9-8DC9BC896028@recoil.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: clamav-milter 0.97.8 at mail X-Virus-Status: Clean Subject: Re: [Caml-list] opam and godi On 07/21/2013 05:43 PM, Yaron Minsky wrote: > While I appreciate the work that Gerd has done on GODI, I do think > that OPAM is a significant improvement over GODI. I thought I'd share why and how I started using OPAM. I have used GODI briefly when I had to install some application on RHEL, which had some old version of the OCaml compiler at the time, and missing most of the libraries I needed. GODI was very smooth to use for that purpose, and I'm glad that someone dedicated time to writing and maintaining it. My main system is Debian though, and I was quite happy with the OCaml packages provided by the distribution, so I didn't have a reason to use GODI (or another source-based package manager) on Debian. After OCaml 4.00 got released I eventually needed a source-based package manager, and when OPAM was available I gave it a try. It was fairly simple to use and worked well (except some small issues with upgrades ocasionally), and it is the main package manager I use for OCaml now. > > From an end-user-experience perspective, I've found OPAM to be > considerably smoother than GODI. In addition to having what I > consider to be a better user interface, opam's simplistic interface is closer to apt-get, which I use and like. GODI's ncurses-like interface is more like aptitude's curses-interface ... which I don't use. It also has a command-line interface, which I haven't tried (the docs place little emphasis on it). So perhaps the less-advanced interface of opam wins exactly because of that. Or maybe it is because GODI already existed at the time I started learning OCaml, and OPAM is the new tool for me that came much later, and I like it only because I used it more recently. There is more to OPAM though, 'opam switch' is definitely a useful feature, as is the ability to use the system's OCaml compiler (I may be wrong here, does GODI support that?). Having said that I would've preferred if OPAM and GODI worked together rather than having a completely new project. In the end I think what would be best is if OASIS could be automatically converted to OPAM, GODI, DEB and RPM packages, and then upstream projects would only need to worry about supplying one correct _oasis file, and OPAM/GODI could use that directly, so that all build/depedency etc. fixes eventually end up in all repositories. And of course the conversion shouldn't be one-time only, whenever _oasis is updated the changes should propagate, perhaps with some small addons _oasis.debian, _oasis.opam, etc. for things that cannot be expressed in OASIS directly (or which doesn't make sense to have in _oasis, like name of downstream maintainers). Packagers should prefer to update these files, instead of their distribution-specific ones, and have the distro-specific build descriptions automatically generated from this. I'm aware that OASIS is not perfect either (there was a discussion earlier about installing docs), but I think that improving it (and the conversion tools) would eventually get us a simple unified build/package description and then library/application authors and end-users shouldn't care what package manager they use: they'd get a similar quality experience. And whenever a bug is discovered by the user of one package manager, the fix is applied to all. I'm aware that oasis2deb, oasis2opam exist, does oasis2godi and oasis2rpm exist? How does OASIS-DB fit into this picture? There is of course the question what to do about packages that do not provide an _oasis file, maybe a start would be opam2oasis (and godi2oasis?) that would provide a dummy _oasis file that just uses the custom Makefiles of the package, but provide all the metadata that the package does. > upgrading of packages in OPAM > has been very smooth overall. I found upgrades in GODI to be pretty > tricky, with many upgrades ending in failure for one reason or > another. I've had OPAM upgrades fail due to bugs in packages / missing system dependencies a few times, and there is a bug open about support for rollbacks, so it is not as smooth as "apt-get" yet. I haven't used GODI long enough to be able to compare it with OPAM on this regard. > I suspect this has something to do with the system for > handling of dependencies in OPAM, which has taken quite a bit of work > to get right from what I understand. > > In addition, the ability to easily handle multiple compilers in OPAM > is also a big win, from my perspective. I think it makes it much > easier to try out and give feedback on upcoming compiler versions, > which is good for the community as a whole. (Plus, trying out > bleeding-edge compiler patches is fun...) Agreed. Best regards, --Edwin