delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2000/04/09/06:45:13

Message-ID: <38F05E81.CC9295A1@softhome.net>
Date: Sun, 09 Apr 2000 13:42:09 +0300
From: Laurynas Biveinis <lauras AT softhome DOT net>
X-Mailer: Mozilla 4.72 [en] (Win98; I)
X-Accept-Language: en
MIME-Version: 1.0
To: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
CC: DJGPP Workers <djgpp-workers AT delorie DOT com>,
Richard Dawe <richdawe AT bigfoot DOT com>
Subject: Re: DJGPP library DSMs
References: <Pine DOT SUN DOT 3 DOT 91 DOT 1000409082635 DOT 7469D-100000 AT is>
Reply-To: djgpp-workers AT delorie DOT com

(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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019