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

Re: debian packaging of findlib



Hello, ...

First let me present myself, ...

I am the debian maintainer of the ocaml package, and some others, and as such,
i have to look into stuff like that, ...

Also i am the debian sponsor to become maintainer of stefano, and as such i
did suggest the curse to take with the findlib package to be debian compliant,
as well as it fitting my own vision of the way ocaml should be packaged in
debian.

Ok, that said, i apologize if maybe you would find that things like what will
be listed below may seem a bit exigent to you, but i want you to know that it
is what i feel is the best way of handling this on the ocaml side, other
people may feel a bit different about this, and you may have your own
opinions, so i await feedback on this issue, but anyway, i think maybe some
part of this is already possible or easily doable, and some other part of this
will be benefitable to you even outside of the debian cadre (as well, debain
is following mostly the FS conventions standard on linux system these days).

Ok, now on with the proposals, ...

The problem with ocaml packagging and findlib is as follows :

 * 1st, for installing, it would not do to use findlib, since the packages are
   built on another system than the one they are used on, and are not
   installed as root, and in another directory than the one they would finally
   be in.

 * Once the package (precompiled) is finnaly installed, the package are just
   copied to the final location by the package installer, and it is possible
   to launch a post-install/pre-remove script to do stuff.

 * well not everyone will have the findlib package installed, so we need
   somethign that will use findlib if it is installed, and work also if it is
   not installed. (in particular, i think much of the packages you did  uses
   ocamlfind exclusively for installation, maybe making ocamlfind command line
   compatible to install would be nice, or if not providing another install
   target that uses install, in the former case, you could set the
   $(OCAMLFIND) to "", and then just install ... get executed)

 * what else ? well i guess this is all of it.

SO, without having looked much at findlib, i can say that what would be nice
would be :

 - a shell script that does the meta-package information updating when adding
   or removing a package. This will be launched in the install script of
   compliant packages, and later on, if you install findlib, it will just
   work. This meta package could be put in /var/lib/ocaml or even in /etc,
   following what debian policy has to say about it. Stefano, could you look
   into it ?

 - a central config file, where you could list one or more places where to
   search for libraries, and maybe other behavior options ?

Also from the packages i know (mostly 'official' ones like camltk, labltk, and
lablgtk) They install directly into $(CAMLLIB)/package-name. Is this a lot
incompatible with your tool ? Maybe not, because if you register all needed
stuff into the above mentioned config/database, in /var/lib/ocaml or something
such, you don't need a specific directory, like ocaml-site, to put things in.

The /usr/local/lib/ocaml or something such place is only for installing
ocaml libs that are not yet packaged by debian, and as thus can be done as you
have been doing all the time. Maybe they would take priority over installed
packages, don't know, this would be nice to have in the config file.

Ok, that's all for now, ...

Friendly,

Sven Luther
On Sat, Feb 17, 2001 at 12:09:59PM +0100, Stefano Zacchiroli wrote:
> On Fri, Feb 16, 2001 at 09:33:28PM +0100, Gerd Stolpmann wrote:
> > I am willing to include such changes into the findlib source; other packagers
> > will probably have similar problems. Of course, I need your exact requirements. 
> > I suppose you want the following features:
> > 
> > - The possibility to set a default package path which is compiled into
> >   ocamlfind; not only a single base directory.
> > 
> >   For Debian, this default path would be /usr/xxx:/usr/local/xxx.
> > 
> > - The possibility to specify the default installation directory independently.
> >   
> >   For Debian, the default installation dir is /usr/local/xxx.
> > 
> >   However, it must be possible to override this spec in "ocamlfind install",
> >   so the packagers can still install into /usr/xxx. This could be determined by
> >   an environment variable.
> 
> For debian packaging the requirement are like this:
> - possibility to set the installation dir (as you say), better if we can
>   do it on cmdline with a parameter to ocamlfind
>   This parameter is only used to override the compiled default.
> 
>   the reason is that in the process of doing debian packaging, there is
>   the need of install the files in a temporary directory relative to the
>   current dir; so, having such a option is really usefull
> 
> - possibility of adding package to the knowledge of ocamlfind, and seems
>   that is not a problem, we just have to install the files in a dir that
>   is in the sight of ocamlfind
> 
> - have a system wide OCAMLPATH and an user defined OCAMLPATH. We use the
>   systemwide OCAMLPATH as a default where ocamlfind look to when no user
>   defined path is specified and we leave to the user the freedom of
>   install modules wherever he need (also his home dir).
>   For the system wide OCAMLPATH two choice:
>   - compiled in ocamlfind (but it is restrictive a lot)
>   - a configuration file (best choice) like /etc/ocamlfind.conf that
> 	contain a line like "OCAMLPATH=..."
> 	I prefer a configuration file instead of a environment variable
> 	cause there is not a system wide configuration file for environment
> 	variables (e.g. /etc/profile is used by bash but not by tcsh), the
> 	user may override this PATH with env variable OCAMLPATH
> 
> So, in practice, two changes to ocamlfind: a cmdline par for overriding
> the target installation dir and a configuration file that set OCAMLPATH.
> 
> What you think about this ?
> 
> -- 
> 	- Zack -
> 
> Stefano Zacchiroli <zacchiro@cs.unibo.it> ICQ# 33538863
> Home Page: http://www.students.cs.unibo.it/~zacchiro
> Undergraduate Student of Computer Science at University of Bologna, Italy
> SysAdm of verdicchio.students.cs.unibo.it (130.136.3.134)
> 	"Information wants to be Open"
> 
> 
> --  
> To UNSUBSCRIBE, email to debian-ocaml-maint-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> 



Reply to: