Re: Bug#518737: dpkg: install-info should still exit zero if info document is not found
sorry to chime in only now, I was away mountaineering.
On So, 08 Mär 2009, Raphael Hertzog wrote:
> We already wanted that for lenny but nobody found the time to drive this
> change… so no I don't know the timescale.
Right, that is the fundamental problem.
I carry around a transisiton plan we worked on some time ago, attached.
I once (quite some time ago) checked all the install-info invocations by
grepping for install-info in all the postinst/postrms and AFAIS there
are not too many packages using things that are not supported by current
Finally I have to say that I am currently not able to do much work on
that, since I am too much taken by packaging TeX Live 2008 (long
overdue) after the complete rewrite of TL2008 stuff.
I could suggest to package a current texinfo as is without changing
anything else, but that would give us at least a test bed to try all
invocations with curretn ginstall-info.
Dr. Norbert Preining <firstname.lastname@example.org> Vienna University of Technology
Debian Developer <email@example.com> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
A rucked-up edge of carpet or linoleum which everyone says someone
will trip over and break a leg unless it gets fixed. After a year or
two someone trips over it and breaks a leg.
--- Douglas Adams, The Meaning of Liff
Proposal to replace Debian's install-info with GNU's install-info
Nicolas François <firstname.lastname@example.org>
Norbert Preining <email@example.com>
Nathanael Nerode <firstname.lastname@example.org>
* Replace dpkg's install-info by the GNU's install-info
* Ease the recovery of a corrupted info dir file by allowing a generation
* info files are mostly used by GNU packages. The format of these files
is described by the GNU texinfo package, and the support for new
features is added to the GNU's install-info (ginstall-info on Debian),
and not in dpkg's install-info (e.g. support for documents with more
than one section: #139569).
* /usr/share/info/dir integrates information from different packages. A
package can break what has been registered by another one, without any
possibility to fix it (itself). Thus it would be better to be prepared
for regenerating a dir file from scratch at any time.
+ Changes in dpkg
- replace dpkg's install-info by a script which just issues a warning,
or exit silently.
This script could be removed for Lenny+1 or 2.
install-info should no more be essential, it is only needed when the
info viewer is installed to search the info pages.
+ Changes in texinfo
- a new install-info package replaces dpkg's install-info
- This install-info should support the current dpkg's install-info
options (i.e. no failures, but not necessarily registering the info
IMO, this install-info should be compatible with the GNU's install
info, and when it detects that it is used by a old Debian package, it
should do nothing (or just warn and recommend using update-info-dir,
* this should provide a compatibility with packages not installed
from a Debian package (make && make install)
* and should not block the installation of old packages
* full compatibility with current dpkg's install-info would be nice,
but is not required
- Add an update-info-dir script. This script should just delete the dir
file and then call the GNU's install-info with all the info files.
(see also the previous mails from Ian Zimmerman, and his patch for
--generate in install-info)
- When installed for the first time (or first time >= version xxx),
it should call update-info-dir.
* There may be an issue with local softwares (not Debian packages)
=> maybe add a debconf question / NEWS entry?
* What options should be used when installing the old info files?
- Add support for multiple dir files in the info viewer.
This would permit update-info-dir to use the
--dir-file /usr/share/info/debian-dir option.
/usr/share/info/dir (and /usr/local/share/info/dir) could be used for
non Debian's info files.
- Fix some regressions from dpkg's install-info.
(IIRC an alignment regression was mentioned with GNU's texinfo)
+ Changes in packages installing info files
- Note: According to an i386 Contents file, there are 2220 info
files, in 403 packages
- These packages should just drop their info files in /usr/share/info,
and call the update-info-dir script if present (postinst and prerm).
They could suggest/recommend the info package.
- Packages using dh_installinfo should just depends on a new debhelper
- The info files must be self sufficient (e.g. the section must be
specified in the info file), so that they do not require any special
install-info options when they are registered.
- A review of all these packages (maintainer scripts & info files) will
+ Changes in dh_installinfo
- Instead of calling install-info, test if update-info-dir is present,
then call it. Same on postinst and prerm.
dh_installinfo is very simple, so I don't think more changes are
* the policy mentions install-info, and has a section about Info
documents. Some changes may be required (e.g. require that the
info files are self sufficient, and mention update-info-dir)
- Other documents?
Note: In this proposal, I did not consider an issue that some info files of
old packages are not installed with the new install-info.
These steps do not need synchronization, and could start right now.
* better analysis for the requirements of the install-info script in texinfo
* packages could also fix their info file, in order to avoid using
install-info options (e.g. many do not specify the section)
- patches could be sent to all packages with info file which use
* prepare a proposal for the policy
The following steps probably need to happen in that order:
* upload texinfo with install-info and update-info-dir
* upload debhelper.
* new policy (I don't think there is a strong need for synchronization of
* file bugs with blockers to keep track of the transition
* fix all packages (for most of them, it will be just increasing the
debhelper version in the build dependencies)
* upload empty install-info in dpkg (no need to wait for the end of the