Mail Archives: djgpp-workers/2000/04/09/06:45:13
(I'm CCing Richard directly, because zippo-workers is down for good.)
Eli Zaretskii wrote:
> 1) It is not clear how to put more than a single value into a
> directive. For example, there might be more than one author of a
> given package for the `author', `author-email' and other related
> directives. Similarly, `depends-on' and `requires' might need more
> than a single value. How should one go about doing this?
Currently DSM and zippo allows multiple 'requires' and 'depends-on' directives:
requires: DPMI
requires: gcc >= 2.95
DSM might allow multiple 'author' etc. directives as well, what about it,
Rich? I see that current libzippo's code does not support that, but we
can easy add that.
> 2) The fine difference between `depends-on' and `requires' is not
> clear, because ``functions properly'' and ``functionality may be
> impaired'' are ambiguous. If the intent is that `requires' is any
> requirements without which the package will not work at all, then
> the spec should say so.
I agree. Richard?
> Example DSM files that Laurynas sent me don't help here, because
> they fail to mention any non-trivial dependencies. For example,
> diff's -l switch needs pr.exe, several of Emacs commands won't work
> without ispell, man, Grep, diff, and other programs, etc. All
> these aren't mentioned, so it is hard to understand the intent of
> `depends-on'.
They *should* be mentioned, they weren't not because of intent of 'depends-on'
but due to fact, that it is hard to write dependencies for about 100 packages.
At first Rich wrote DSMs with virtually no dependencies, I've added trivial
run-time ones and some source building dependencies.
> 3) It seems like the spec is heavily slated towards installing a
> package, because some of the directives required for uninstalling
> are missing. For example, a script and/or command to run when
> uninstalling would be a good idea (e.g., to run install-info to
> remove the entry from info/DIR).
Yes. There few install/deinstall directives in DSMs due to reason above
and also due to fact that scripting isn't implemented in zippo yet.
> 4) I think we need a `current-maintainer' directive and the associated
> `current-maintainer-email', because the current maintainer might be
> someone different from the original author. This is the case with
> many GNU packages.
I agree.
> 5) To have a useful partition using the `group' directive, we need a
> list of standard groups.
Currently we have 3 groups: C development(gcc, binutils, djdev, faq, info-
reader(texinfo), make), GNU (lots of stuff) and for newbies and former Borland
programmers: gcc, binutils, djdev, rhide, faq.
Their DSMs are below.
> We also need to address the possibility
> that some packages would want to belong to more than a single
> group.
We don't have to do anything special to achieve that:
group1:
requires: this
requires: that
requires: foo
grop2:
requires: foo
requires: bar
> 6) It is not clear what do we ned to put under `mailing-list',
> `newsgroup', and related directives. Are these for reporting
> problems in DJGPP ports, general discussions about the package, or
> something else, like discussing the package internals?
>
> In general, any given package will typically have several relevant
> mailing lists and/or news groups, in addition to
> comp.os.msdos.djgpp where they all can be discussed. So we need
> clear guidelines about what to put there. Or perhaps we need to
> have several different directives for the different types of
> forums.
I think it is best to allow several those directives in a single DSM
with a comment (or even another directive) with a mailing list's
description.
> 7) Perhaps the installer and uninstaller should automatically run
> install-info with the appropriate arguments (these arguments are
> pretty standard). This way, people won't need to put these
> commands into the DSM files, which is error-prone.
No, I think it is up to indvidual packages: installers should be generic,
they don't know very good, which packages require it and which don't.
Laurynas Biveinis
---cdev.dsm--8<---
#
# cdev.dsm
# Constructed by Richard Dawe <richdawe AT bigfoot DOT com> 1999-05-17
#
# This is an example DSM for a "C development" package.
#
dsm-file-version: 1.0
dsm-version: 0.4.0
dsm-name: cdev
dsm-type: group
dsm-author: Richard Dawe
dsm-author-email: richdawe AT bigfoot DOT com
name: C development
version: 1
short-description: C development with DJGPP - DJGPP libs, gcc, GNU make
# This has no packages of its own - it just requires other ones.
requires: djdev >= 2.00
requires: gcc >= 2.7.2
requires: make >= 3.74
requires: info-reader
requires: faq
---borland.dsm--8<---
#
# borland.dsm
# Written by Laurynas Biveinis <lauras AT softhome DOT net>
#
# This is a DSM for a "C development for former Borland developers" package.
#
dsm-file-version: 1.0
dsm-version: 0.4.0
dsm-name: cdev
dsm-type: group
dsm-author: Laurynas Biveinis
dsm-author-email: lauras AT softhome DOT net
name: C development for Borland users
version: 1
short-description: C development with nice Borland-like IDE
long-description: Contains nice IDE as well as basic development system.\
Ideal for beginners and former Borland users.
# This has no packages of its own - it just requires other ones.
requires: djdev >= 2.00
requires: gcc >= 2.7.2
requires: make >= 3.74
requires: rhide
requires: faq
--gnudev.dsm--8<---
#
# gnutools.dsm
# Written by Laurynas Biveinis <lauras AT softhome DOT net>
#
# This is an example DSM for a "GNU development tools" package.
#
dsm-file-version: 1.1
dsm-version: 0.4.0
dsm-name: gnu-tools
dsm-type: group
dsm-author: Laurynas Biveinis
dsm-author-email: lauras AT softhome DOT net
name: GNU development tools
version: 1
short-description: C development system with a lot of GNU tools
# This has no packages of its own - it just requires other ones.
requires: djdev >= 2.00
requires: gcc >= 2.7.2
requires: make >= 3.74
requires: binutils
requires: autoconf
requires: automake
requires: bash
requires: fileutils
requires: textutils
requires: bison
requires: flex
requires: diffutils
requires: grep
requires: m4
requires: gawk
requires: sed
requires: shellutils
requires: texinfo
- Raw text -