--- Begin Message ---
- To: Karl Berry <karl@freefriends.org>
- Cc: bug-texinfo@gnu.org
- Subject: Re: [lnobreg@gmail.com: install-info]
- Date: Fri, 10 Feb 2006 22:47:45 +0100
- Message-id: <20060210214745.GA15762@gamma.logic.tuwien.ac.at>
- In-reply-to: <200601312115.k0VLFk428096@f7.net>
- References: <200601312115.k0VLFk428096@f7.net>
Hi Karl!
On Die, 31 Jan 2006, Karl Berry wrote:
> this problem of *very* long standing. Basically, the only real fix I
> can imagine is for GNU install-info to adopt the features of Debian
> install-info, and Debian install-info to adopt the features of GNU
> install-info. Can you look at the two programs and see what that would
> involve? Of course, if you want to do any programming, so much the
> better :).
In some spare minutes I made a list of options and their behaviour. I
attach it here for your convenience.
What I think would be the perfect solution if we could take teh Debian
install-info, which has more options AND is a perl script (not very long
and complicated) and adapt it to accept the GNU install-info argumetns.
Then we could forget the binary install-info and would have only one.
WOuld this be acceptable for you?
Perl I could start hacking, trying to merge the options so that both are
supported. C code I don't want to start ;-) (I could, but I am too lazy
to reactivate the C portions of by brain ...)
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <preining AT logic DOT at> Università di Siena
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
GLAZELEY (adj.)
The state of a barrister's flat greasy hair after wearing a wig all
day.
--- Douglas Adams, The Meaning of Liff
Debian install-info [options] [--] filename
Invocation
Debian install-info [options] [--] filename
[--] filename
Gives the filename of the Info file whose menu entry is to be
created, updated or removed. If --remove-exactly is specified,
then filename should be the exact entry name to be removed (i.e.
"emacs-20/emacs" or "gcc"), otherwise the basename of this file-
name is used as the referent of the menu entry which is created,
unless there's an overriding START-INFO-DIR entry inside the
given file. This file must therefore exist (or be about to be
installed, or have previously existed when removing an entry) in
the same directory as the dir file (see the --infodir option).
If filename ends in .gz it is taken to refer to a file com-
pressed with GNU gzip; if it doesn't exist, but a corresponding
filename.gz does, the latter is used instead.
When adding or updating entries the file must exist at the path
specified (possibly with an additional .gz extension).
GNU install-info [option] [INFO-FILE [DIR-FILE]]
obvious
--------------------------------------------------------------------------
OK
Debian --version
version and copyright
GNU --version
version
---------------------------------------------------------------------------
OK
Debian --help
help
GNU --help
help
----------------------------------------------------------------------------
More or less OK
Debian --quiet
Prevents the usual display of the new menu entry just before it
is inserted, and of the messages announcing the replacement and
removal of existing entries and the creation and deletion of
sections.
GNU --quiet
suppress warnings.
----------------------------------------------------------------------------
remove/delete
Debian --remove
Specifies that the entry for the file filename is to be removed;
by default entries are created or updated.
If the removal results in a section becoming empty the section
heading (and the spare blank line) will be removed as well,
unless this is the last section in the file or --keep-old is
specified. See the --section option for details about the
expected format of the dir file.
If there are several suitable entries in the dir file only those
in the first matching contiguous group will be removed and the
others silently ignored.
It is not an error for no suitable entry to be found, though
install-info will issue a warning unless the --quiet option was
specified.
When --remove is specified the --maxwidth, --align and --calign
formatting options are silently ignored.
Debian --remove-exactly
This option is essentially the same as --remove except that
filename is taken as the exact entry to be removed, rather than
as the name of an existing file. This can be important when
trying to remove entries that refer to info files in subdirecto-
ries (i.e. "emacs-20/emacs") because --remove will operate on
the basename of the given filename rather than the exact name
given. (i.e. --remove "emacs-20/emacs" would cause
install-info to look for "emacs", not "emacs-20/emacs").
GNU --delete = --remove
delete existing entries for INFO-FILE from DIR-FILE; don't
insert any new entries.
-----------------------------------------------------------------------------
Sectioning:
Debian --section regexp title
Specifies that, if a new entry is to be made, it should be
placed in a section of the dir file whose title matches regexp.
If no such section exists one will be created as the second last
section in the file (see below), with title title. A section is
a part of the dir menu delimited by blank lines; the first line
is assumed to be the title.
If a new entry is to be created install-info will attempt to
insert it within the section according in alphabetic order; if
the entries in the section aren't already sorted the new loca-
tion within the section will be unpredictable. The order of
existing entries will not be changed.
The default is to append new entries to the end of the file.
The last section (even if it only consists of the title line)
should always exist, to ensure that new sections are created in
the right place. The final section should be titled to reflect
the fact that Info files with no more well specified location
are appended to it.
If there is already an entry for the Info file being installed
it is replaced in situ with the new entry.
If a section is specified when removing an entry the section is
ignored and a warning is issued.
If a section is requested when adding an entry but the file con-
tains no section headings at all then install-info will create
both the requested section and a Miscellaneous section at the
end of the file.
GNU --section
put this file's entries in section SEC of the directory. If you
specify more than one section, all the entries are added in each
of the sections. If you don't specify any sections, they are
determined from information in the Info file itself.
------------------------------------------------------------------------------
Specifying the dir file
Debian --infodir=dir
Specifies that the dir file is, and the installed copy of the
new Info file was, is or will be located in infodir. The
default is /usr/info.
GNU --dir-file=nnn
specify file name of Info directory file. This is equivalent to
using the DIR-FILE argument.
GNU --info-dir=dir
same as --dir-file=DIR/dir.
---------------------------------------------------------------------------
Entry specification including description
Debian --menuentry=xxx
Specifies that the entry in the menu should be xxx. The default
is to use the the value specified in the Info file itself. If
this is not present the basename of the Info file is used (any
.info is deleted, and the entry is made mixed case). See above
for details of the format expected for the menu entry in the
Info file.
When removing entries the value of the --menuentry option must
match the actual menu entry field in the menu item to be removed
(case not significant). If --menuentry is omitted no check on
the menu entry is done.
Debian --description=xxx
Specifies that the description to use after the menu entry in
new or updated entries be xxx. The default is to use the the
value specified in the Info file itself; this is found by
searching for a section of the form
START-INFO-DIR-ENTRY
* Auto-PGP: (auto-pgp). PGP under GNU Emacs.
END-INFO-DIR-ENTRY
If the entry found in the Info file itself extends across sev-
eral lines, each giving a menu entry, the text found in the file
is used verbatim. In this case the alphabetic ordering scheme
is turned off, and the entries are inserted at the top of sec-
tion in question. In this case the --menuentry, --maxwidth,
--align, --calign and --menuentry options are ignored.
If there is no dir entry in the file the program will try to
find a paragraph early in the file starting this file documents.
It will capitalise the first character of the remainder, and use
that.
It is an error for none of these methods to yield a description.
If a description argument is given when --remove is specified it
is ignored and a warning is issued.
GNU --entry=TEXT == --item=TEXT
insert TEXT as an Info directory entry. TEXT should have the
form of an Info menu item line plus zero or more extra lines
starting with whitespace. If you specify more than one entry,
they are all added. If you don't specify any entries, they are
determined from information in the Info file itself.
--------------------------------------------------------------------------
Options in GNU install-info NOT in Debian
GNU --info-file=file
--------------------------------------------------------------------------
Options in Debian install-info NOT in GNU
--align=nnn [deprecated]
Specifies that the first line of the description should be
indented at least nnn characters; extra spaces will be added as
required. If necessary because of the length of the dir menu
entry details it may be offset more. The default is 27.
--calign=nnn [deprecated]
Specifies that the second and subsequent lines of the descrip-
tion should be indented at least nnn characters. The default is
29.
--maxwidth=nnn [deprecated]
Specifies that the maximum width for the Info file is nnn. This
is used when wordwrapping the descriptive text. The default is
79.
--debug
Enables debugging mode, in which the results of some internal
processing steps are shown.
--test
Enables test mode, which inhibits the update of the directory
file.
--keep-old
Inhibits the replacement of existing entries and the removal of
empty sections.
If the file being installed alreay has an entry in the directory
the old entry will be left alone instead of being replaced; the
default is to overwrite any old entry found with the newly gen-
erated one.
If --remove is specified --keep-old will prevent the removal of
the section heading which would otherwise happen if the section
is made empty by the removal.
--- End Message ---