caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Stefano Zacchiroli <zack@upsilon.cc>
To: caml-list@inria.fr
Subject: Re: [Caml-list] Re: [OSR] Ports-like package management system
Date: Sun, 3 Feb 2008 21:21:45 +0100	[thread overview]
Message-ID: <20080203202145.GA15741@takhisis.invalid> (raw)
In-Reply-To: <1201878222.14203.19.camel@flake.lan.gerd-stolpmann.de>

On Fri, Feb 01, 2008 at 04:03:42PM +0100, Gerd Stolpmann wrote:
> > Regarding the kind of relationships which can be described and how
> > (alternatives, version requirements), the major GNU/Linux distribution
> > families have a quite large subset of supported feature which are not so
> > tricky and are agreed upon.
> Interesting view, but it still doesn't convince me that including a
> formalization of deps would be worth the effort. I would like to hear
> more opinions about this:

Fair enough. Socially however, I doubt you will be able to seek several
opinions in this sub-sub-sub thread :), you should probably start a new
thread or something such.

I will answer for myself.

> - Are software maintainers willing to provide the information in a
>   formalized way? That would mean they had to understand the details

Wearing my hat of (not so widespread) software maintainer, it wouldn't
make any difference. If I care about proper installation instruction I
already have to maintainer a proper INSTALL file, maintaining a more
formal dependency expression in a file won't be much of a difference.
Actually, if the format spreads and the community reach an agreement on
it, it would be even better since I can avoid writing useless prose to
describe the deps in INSTALL, and just care of the dependency
expression.

(Note that in my case, since I'm also the Debian maintainer of my
software, I'm also already maintaining the dependency expression, but I
presume this is not a common case.)

> - Is this so useful for the users that they really need it? I mean
>   the primary users would be the existing distribution systems
>   like GODI or Debian that already have formalizations for deps. 
>   I expect that most end users won't directly install software,
>   and if so, it is likely that they run manually through the
>   the build package by package, so a description of deps in English
>   would be almost as useful as a formalization.

In general, the usefulness for the users depends on the available tools
using the dependency formalization. This is a like a chicken and egg
problem: until we have the formalization we won't be able to show
usefulness. I'm trying to catch the bus which is passing: if we are
going to formalize software installation related stuff, I'll try to get
it right without loosing information.

Anyhow, regarding your end users point, I don't know for GODI since I'm
not using it, but in Debian we have always kept in mind that users
should be able to install OCaml libraries which are not packaged in
Debian. So, for example, our default findlib configuration supports
/usr/local/... The reason is that no packaging framework supports every
piece of OCaml software out there.  In this sense, end users do install
software, and a dependency formalization would give us possibilities
such as:

- have a single system (ocamlfind based) to check if the required deps
  to compile a library or program are available

In a word, it would get us nearer to CPAN's "perl Makefile.PL" 1-click
installation procedure.

> _If_ we agree that a formalization is useful, I am still of the
> opinion the simpler the better. So maybe only a list of build
> requirements, where some are flagged as optional. That would be a
> simple string
> 
> "pgk1 pkg2 pkg3? pkg4?"

Full ACK: the simpler, the better. Something like that is fine with me,
though I would like to see at least >= version checking. See below ...

> Including version requirements has the disadvantage that it enforces a
> certain syntax of the package names, and that there are several
> solutions for comparing version strings.

I'm less convinced about that (though we are getting into details here,
whereas your bold "If" above is still to be settled). It is true that
there are various syntaxes for versions, but they do entail different
comparison results only in very corner cases. Take pkg-config, AFAIK it
supports >= version comparisons supporting just one syntax for versions.
It does work fine with 99.9999% of the software libraries out there.

> For even more structure like alternatives, or mutual incompatibilities I
> don't see how this could be processed in a uniform way. The package
> systems are very different in this point.

Agreed, also it is seldomly needed.

Cheers.

-- 
Stefano Zacchiroli -*- PhD in Computer Science ............... now what?
zack@{upsilon.cc,cs.unibo.it,debian.org}  -<%>-  http://upsilon.cc/zack/
(15:56:48)  Zack: e la demo dema ?    /\    All one has to do is hit the
(15:57:15)  Bac: no, la demo scema    \/    right keys at the right time


  reply	other threads:[~2008-02-03 20:21 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-29 10:56 Berke Durak
2008-01-29 11:12 ` [Caml-list] " David Teller
2008-01-29 13:11 ` Yaron Minsky
2008-01-29 14:04   ` Nicolas Pouillard
2008-01-29 17:35   ` Berke Durak
2008-01-29 18:02     ` Bünzli Daniel
2008-01-29 18:10     ` Paul Pelzl
2008-01-29 22:26     ` Paolo Donadeo
2008-01-30  1:55       ` Bünzli Daniel
2008-01-29 22:46     ` Paolo Donadeo
2008-01-29 13:47 ` Yaron Minsky
2008-01-29 14:04   ` Nicolas Pouillard
2008-01-29 16:00 ` Alain Frisch
2008-01-30  6:58   ` Yaron Minsky
2008-01-30  8:56     ` Nicolas Pouillard
2008-01-29 17:56 ` Bünzli Daniel
2008-01-29 18:17   ` Nicolas Pouillard
2008-01-29 19:13     ` Bünzli Daniel
2008-01-30  8:49       ` Nicolas Pouillard
2008-01-30 11:15         ` Bünzli Daniel
2008-01-30 11:52           ` Nicolas Pouillard
2008-01-29 18:47 ` Hezekiah M. Carty
2008-01-30  9:06 ` Sylvain Le Gall
2008-01-30  9:39   ` [Caml-list] " Berke Durak
2008-01-30  9:53     ` Sylvain Le Gall
2008-01-30 10:50       ` [Caml-list] " Nicolas Pouillard
2008-01-30 11:15         ` Bünzli Daniel
2008-01-30 11:54           ` Nicolas Pouillard
2008-01-30 13:58             ` Sylvain Le Gall
2008-01-30 14:08               ` [Caml-list] " Nicolas Pouillard
2008-01-30 11:15       ` Berke Durak
2008-01-30 11:47         ` Bünzli Daniel
2008-01-30 13:55           ` Sylvain Le Gall
2008-01-30 13:54         ` Sylvain Le Gall
2008-01-30 14:24           ` [Caml-list] " Berke Durak
2008-01-30 14:35             ` Sylvain Le Gall
2008-01-30 19:48             ` [Caml-list] " Bünzli Daniel
2008-01-30 18:12           ` Vlad Skvortsov
2008-01-30 16:32       ` Michael Ekstrand
2008-01-30 16:44         ` Sylvain Le Gall
2008-01-30 18:03         ` [Caml-list] " Nicolas Pouillard
2008-01-30 19:45         ` Olivier Andrieu
2008-01-30 19:53           ` Vlad Skvortsov
2008-01-30 10:45     ` Sylvain Le Gall
2008-01-30  9:51   ` [Caml-list] " Jon Harrop
2008-01-30 10:18     ` Sylvain Le Gall
2008-01-30 10:43       ` [Caml-list] " Jon Harrop
2008-01-30 12:00         ` Nicolas Pouillard
2008-01-30 13:25           ` Jon Harrop
2008-01-30 14:06             ` Nicolas Pouillard
2008-01-30 12:37   ` Pietro Abate
2008-01-30 13:26     ` Stefano Zacchiroli
2008-01-30 14:07     ` Gerd Stolpmann
2008-01-30 13:37       ` Stefano Zacchiroli
2008-01-30 15:12         ` Gerd Stolpmann
2008-01-31  9:02           ` Stefano Zacchiroli
2008-02-01 15:03             ` Gerd Stolpmann
2008-02-03 20:21               ` Stefano Zacchiroli [this message]
2008-02-04  3:40                 ` Matthew Hannigan
2008-02-04 18:42               ` Nathaniel Gray
2008-01-30 17:42       ` David Allsopp
2008-01-30 14:13     ` Sylvain Le Gall
2008-01-30 20:22       ` [Caml-list] " Bünzli Daniel
2008-02-08 22:24       ` N. Owen Gunden
2008-01-30 15:15     ` Jon Harrop
2008-01-30 12:37 ` [Caml-list] " Berke Durak
2008-02-13  8:45 ` David Teller
2008-02-13 10:02   ` Sylvain Le Gall
2008-02-13 10:48     ` [Caml-list] " Berke Durak
2008-02-13 13:51       ` Sylvain Le Gall
2008-02-13 14:10       ` [Caml-list] " Richard Jones
2008-02-13 14:22         ` Sylvain Le Gall
2008-02-13 17:57           ` [Caml-list] " Richard Jones
2008-02-15  8:13       ` Maxence Guesdon
2008-02-15  9:47         ` Berke Durak
2008-02-15 10:24           ` Maxence Guesdon
2008-02-15 10:59             ` Stefano Zacchiroli
2008-02-15 15:45               ` Maxence Guesdon
2008-02-15 13:35         ` Ralph Douglass
2008-02-15 14:08           ` Christophe TROESTLER
2008-02-13 12:13     ` David Teller
2008-02-13 13:48       ` Sylvain Le Gall
2008-02-13 13:58         ` [Caml-list] " David Teller
2008-02-13 14:20           ` Sylvain Le Gall
2008-02-13 14:28             ` [Caml-list] " David Teller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080203202145.GA15741@takhisis.invalid \
    --to=zack@upsilon.cc \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).