[Top][All Lists]

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

Re: [patch] improved version information

From: Akim Demaille
Subject: Re: [patch] improved version information
Date: 04 Apr 2001 17:37:43 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Cuyahoga Valley)

| Lars J. Aas writes:
| >   $ head config.log
| >   This file contains any messages produced by compilers while
| >   running configure, to aid debugging if configure makes a mistake.
| >
| >   It was created by GNU Autoconf configure 2.49e, which was
|                       GNU Autoconf 2.49e configure,


BUt really, I can't understand all this fuss about this.  I find the
current solution to be excellent and conform to the GNU std.  I'm just
tired of debating of such micro details, hence my `yes'.  But frankly,
I find that

        Bison 1.28a configure, by GNU Autoconf 2.49e

is not as good as what it used to be before

        configure (Bison 1.28a) 2.49e
(or  configure 2.49e (Bison 1.28a))

We are going backwards again and against some well established
conventions (yes, again, the GNU std are underspecifying).

I _regret_ we changed this.  We are breaking what other people already
did, e.g.,

src/ace/doc % texi2dvi --version                                 nostromo 17:30
texi2dvi (GNU Texinfo 4.0) 0.43

Copyright (C) 1999 Free Software Foundation, Inc.
There is NO warranty.  You may redistribute this software
under the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING.

src/ace/doc % card --version                                     nostromo 17:33
card 1.3 (GNU a2ps 4.13)
Written by Akim Demaille.

Copyright (c) 1997-99 Akim Demaille, Miguel Santana
This is free software; see the source for copying conditions.  There is NO

The Gnits std also include

  Output of `--version'
  The `--version' output is meant not only to give the program name, but
  to give a precise reference to where the actual sources for the
  program can be found. One asset of GNU is that all sources are
  available. It should never be difficult to discover and grab the
  proper sources for any given executable program or script.
  A few maintenance scripts may depend of a rather precise format for
  `--version' output, which is now detailed. The output should consist
  of only one line containing many fields separated with a single
  space. From left to right, these fields are:
        The program name, at least when it is different from the package
        name, or when specific program version numbers follow. When a
        single package distributes many programs, the program name is
        always given.
        The program version numbers, but only if they differ from the
        version numbers of the whole package. This happens, rather
        unfrequently, when a single package distributes programs which
        are maintained by different people, each using his own version
        scheme (e.g. the Texinfo distribution).
        A single dash `-' character, surrounded by one space on each
        side, of course. This string is used in case both the program
        name and the package name are given. When only the package and
        package version numbers are given, it is assumed that the
        program name is identical to the package name, and that program
        version numbers are the same as the package version numbers. In
        this case, this single dash is omitted.
        The optional word `GNU', all in capitals. 
        The mandatory package name. 
        The mandatory version numbers for the package name. 
  If package is the package name and version are the package version
  numbers, then `package-version.tar.gz' should be the exact name of the
  archive file containing the distribution, exact even to the
  Here are some examples: 
  cat - GNU textutils 1.19c
  msgfmt - GNU gettext 0.10.24
  GNU recode 3.4.2
  We use `-' instead of words like `from', and avoid using the word
  `version' between names and numbers, in hope to escape the need of
  internationalising `--version' output.

and finally the GNU std

     This option should direct the program to print information about
     its name, version, origin and legal status, all on standard
     output, and then exit successfully.  Other options and arguments
     should be ignored once this is seen, and the program should not
     perform its normal function.

     The first line is meant to be easy for a program to parse; the
     version number proper starts after the last space.  In addition,
     it contains the canonical name for this program, in this format:

          GNU Emacs 19.30

     The program's name should be a constant string; _don't_ compute it
     from `argv[0]'.  The idea is to state the standard or canonical
     name for the program, not its file name.  There are other ways to
     find out the precise file name where a command is found in `PATH'.

     If the program is a subsidiary part of a larger package, mention
     the package name in parentheses, like this:

=====>    emacsserver (GNU Emacs) 19.30

     If the package has a version number which is different from this
     program's version number, you can mention the package version
     number just before the close-parenthesis.

     If you *need* to mention the version numbers of libraries which
     are distributed separately from the package which contains this
     program, you can do so by printing an additional line of version
     info for each library you want to mention.  Use the same format
     for these lines as for the first line.

     Please do not mention all of the libraries that the program uses
     "just for completeness"--that would produce a lot of unhelpful
     clutter.  Please mention library version numbers only if you find
     in practice that they are very important to you in debugging.

     The following line, after the version number line or lines, should
     be a copyright notice.  If more than one copyright notice is
     called for, put each on a separate line.

     Next should follow a brief statement that the program is free
     software, and that users are free to copy and change it on certain
     conditions.  If the program is covered by the GNU GPL, say so
     here.  Also mention that there is no warranty, to the extent
     permitted by law.

     It is ok to finish the output with a list of the major authors of
     the program, as a way of giving credit.

     Here's an example of output that follows these rules:

          GNU Emacs 19.34.5
          Copyright (C) 1996 Free Software Foundation, Inc.
          GNU Emacs comes with NO WARRANTY,
          to the extent permitted by law.
          You may redistribute copies of GNU Emacs
          under the terms of the GNU General Public License.
          For more information about these matters,
          see the files named COPYING.

     You should adapt this to your program, of course, filling in the
     proper year, copyright holder, name of program, and the references
     to distribution terms, and changing the rest of the wording as

     This copyright notice only needs to mention the most recent year in
     which changes were made--there's no need to list the years for
     previous versions' changes.  You don't have to mention the name of
     the program in these notices, if that is inconvenient, since it
     appeared in the first line.

So, really, I'm very unhappy.  But if this is needed to release 2.50, then...

reply via email to

[Prev in Thread] Current Thread [Next in Thread]