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 OAA03352; Wed, 28 Apr 2004 14:38:51 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id OAA03311 for ; Wed, 28 Apr 2004 14:38:50 +0200 (MET DST) Received: from mail.npc.de (fw.npc.de [62.225.140.214]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i3SCcnYM016637 for ; Wed, 28 Apr 2004 14:38:49 +0200 Received: from styx.ffm.npc.de (lion.npc.de [192.168.129.1]) by mail.npc.de (Postfix) with ESMTP id 6ABF617E1 for ; Wed, 28 Apr 2004 14:38:47 +0200 (CEST) Received: from hera.ffm.npc.de (hera.ffm.npc.de [192.168.130.8]) by styx.ffm.npc.de (Postfix STYX NPC GmbH) with ESMTP id 5E1F8C437 for ; Wed, 28 Apr 2004 14:38:46 +0200 (CEST) Received: from ares.ffm.npc.de (ares.ffm.npc.de [192.168.130.32]) by hera.ffm.npc.de (Postfix HERA NPC GmbH) with ESMTP id 009EF159C9 for ; Wed, 28 Apr 2004 14:38:45 +0200 (CEST) Received: from ares.ffm.npc.de (ares.ffm.npc.de [192.168.130.32]) by ares.ffm.npc.de (Postfix ARES NPC GmbH) with ESMTP id 8B9B6183F for ; Wed, 28 Apr 2004 14:38:45 +0200 (CEST) Subject: [Caml-list] GODI news From: Gerd Stolpmann To: caml-list@inria.fr Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8 Date: 28 Apr 2004 14:38:44 +0200 Message-Id: <1083155925.11774.117.camel@ares> Mime-Version: 1.0 X-Miltered: at concorde by Joe's j-chkmail ("http://j-chkmail.ensmp.fr")! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; gerd:01 stolpmann:01 bootstrap:01 command-line:01 cduce:01 ocamlsdl:01 ocamlodbc:01 alain:01 frisch:01 netbsd:01 macosx:01 cygwin:01 bootstrap:01 non-standard:01 cygwin:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hi list, here is my report about the progress of the GODI system. A lot of things have happened since the last "GODI news", so this is quite long. We have two release lines, one is the "stable" release, in the sense that the GODI core does not change during its lifetime, the other is the "development" release, where exactly this happens. Of course, there is also development in the stable release, as lots of new packages have been added. *** The stable release *** You get the stable release when you download and install GODI using the instructions as explained at http://www.ocaml-programming.de/godi, and as detailed in the README file in the bootstrap tarball. It is known to run on Linux, Solaris, and FreeBSD. The stable release includes 24 libraries beyond those coming with the core O'Caml distribution. It has 50 packages in total. Recent additions include: - expat: bindings for the popular XML parser - getopt: parsing of command-line arguments - zip: Compression - cduce: XML transformation language - ocamlsdl: bindings for SDL - ocamlodbc: bindings for ODBC - headache: manage headers of source code files - godiva: the GODI Verpacken Assistant (read more below) Most packaging was done by Alain Frisch, thank you very much. The stable release already includes godi_console, the frontend application to update, install, and delete packages. It is menu-based and quite simple to use. One of the key features is that it can download updates from the GODI server, so when new packages or upgrades are available, it is very easy to get them installed. Btw, this is not done using cvs or other configuration management, but by plain http. I explain the reasons below. *** The development release *** This is also some kind of release, although only announced in godi-list. See below how to install it. The current version should work on Linux, Solaris, FreeBSD, NetBSD, MacOSX, and Cygwin. Development focuses on getting it running on further platforms. The changes illustrate this: - One of the things where the platforms differ is the handling of shared libraries. I do not mean creating them, but rather using them. The GODI framework was extended to allow the integration of non-ELF based systems. - The bootstrap script is more intelligent regarding finding executables in PATH. This is a bit tricky, as for some OS one should _not_ look certain utilities up by PATH to get the right versions, but on the other hand, extending PATH is the usual way of pointing to non-standard locations. Finding the right way was explored by lots of experiments. - Especially for Cygwin, new ways of installing packages had to be explored. The problem is that Windows locks running executables, such that you cannot replace them. A workaround was found. - Of course, there are also many smaller fixes. I want to thank Eugene Kotlyarov for help on the Cygwin port, and Matthew Backes for giving me access to his Macintosh. Of course, one can only port GODI to a certain platform when there is a development machine for it. If you would like to get GODI running on your platform, and you have such a machine, you are more than welcome. How to get the dev release: - Download this bootstrap archive: http://ocaml-programming.de/packages/godi-bootstrap-20040426.tar.gz - After unpacking, run ./bootstrap --prefix XXX as usual. - IMPORTANT: Now change in /etc/godi.conf: GODI_SECTION=dev Otherwise you get the stable GODI version. - Finally, run ./boostrap_stage2 When everything works well, the dev release becomes the new stable release. I expect that this happens in one or two weeks. *** GODIVA *** GODI, and implicitly the BSD port system on which it bases, was criticized as being too complicated for packagers. (Well, I would say it is quite simple, but this is the impression some people have.) Owen Gunden and William Lovas developed a tool for GODI that simplifies packaging, namely GODIVA: http://projects.phauna.org/GODIVA/ You only need to write a small specfile like Package: godi-foolib Version: 2.0 Revision: 0 Depends: godi-ocaml (>= 3.06) Build-Depends: conf-foo, godi-findlib (>= 0.8.1) Sources: http://www.phauna.org/foolib/foolib-2.0.tar.gz Homepage: http://www.phauna.org/foolib/ Maintainer: Owen Gunden Options: configure, opt Docfiles: README, VERSION, LICENSE Description: O'Caml bindings for the foo library. Foolib provides bindings for the foo library using the leetness of labls! It's a lot of fun. (taken from the web site). However, GODIVA requires that the source code follows a policy (e.g. that "make all" creates the bytecode version of the software, and "make opt" creates the native code version), so the downside is less flexibility. I think it is a good starting point to get familiar with the GODI packaging system. *** The GODI server *** GODI also has a server infrastructure: - http://www.ocaml-programming.de is web space I bought from a commercial provider. Nowadays, web space is cheap, fortunately. It is http only, no scripts, no databases. Includes several gigabytes of transfer volume per month. - https://gps.dynxs.de is the small box left to my desk. It is connected with a DSL line, so bandwidth is very limited, but I can install what I want. It is currently running Debian-3.0. For obvious reasons, the "main" thing must happen on www.ocaml-programming.de, as this server can cope with high download volume. For development, gps.dynxs.de is the better choice. There are currently the following services: - http://www.ocaml-programming.de/godi is the homepage - http://www.ocaml-programming.de/godi-build is the directory with the "build instructions", i.e. the small tarballs that explain GODI how to install software - http://www.ocaml-programming.de/godi-backup contains copies of the source tarballs. There is a mirror of this directory at http://lcavwww.epfl.ch/~henridf/godi-backup, thanks Henri Dubois-Ferriere. - https://gps.dynxs.de/mailman/listinfo is the home of the mailing lists godi-list and godi-commits - https://gps.dynxs.de/svn is the home of the Subversion repository - https://gps.dynxs.de/tracker is the home of the bug tracker - https://gps.dynxs.de/godi_admin is the GODI administration tool for developers. This is a web application allowing the developers to release their packages without my help. The packages must already be checked in to the repository. The source tarballs are checked for availability. Finally, the tool manages that the right tarballs are uploaded to the godi-build and godi-backup directories. Recently, the tracker and godi_admin were set up. When a GODI user tries to update the installation, GODI looks into http://www.ocaml-programming.de/godi-build and checks whether there are new versions of the packages. If so, these are downloaded. These are the so-called build instructions, mainly containing a Makefile explaining how to do the rest. The software as such is downloaded from the original web server, if possible, and from http://www.ocaml-programming.de/godi-backup, or the mirror as fallback solution. Only HTTP is involved. For the users, it has the advantage that firewalls do not block the downloads. For GODI, the advantage is that cheap web space can be used to serve the requests. *** LINKS *** The most important links again: - http://www.ocaml-programming.de/godi explains how to install the stable version of GODI - https://gps.dynxs.de/mailman/listinfo/godi-list is the GODI mailing list. Archives can be found at https://gps.dynxs.de/pipermail/godi-list. Gerd -- ------------------------------------------------------------ Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany gerd@gerd-stolpmann.de http://www.gerd-stolpmann.de ------------------------------------------------------------ ------------------- 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