Message-ID: <38F05E81.CC9295A1@softhome.net> Date: Sun, 09 Apr 2000 13:42:09 +0300 From: Laurynas Biveinis X-Mailer: Mozilla 4.72 [en] (Win98; I) X-Accept-Language: en MIME-Version: 1.0 To: Eli Zaretskii CC: DJGPP Workers , Richard Dawe Subject: Re: DJGPP library DSMs References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 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 # # 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 # # 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