Differences between revisions 7 and 8
Revision 7 as of 2009-05-17 02:51:57
Size: 9000
Editor: GuillemJover
Comment: Clarify timeline
Revision 8 as of 2009-06-04 10:23:12
Size: 9178
Editor: ?NorbertPreining
Comment:
Deletions are marked like this. Additions are marked like this.
Line 184: Line 184:
 * Link to the bugs filed against packages with missing dir section in info files: http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=preining@logic.at;tag=texinfo-transition

Transition from dpkg's install-info to GNU's install-info

Goals

  • Replace dpkg's install-info by the GNU's install-info.
  • Ease the recovery of a corrupted Info dir file by allowing a generation from scratch.
  • Remove one more perl script from essential.

Rationale

  • 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.

Implementation

  • dpkg ships a new /usr/sbin/install-info that will call /usr/bin/install-info with the same arguments. It also warns the user if called with an absolute path. Dpkg also contains Breaks against old versions of all info-browsers that do not depend on install-info.
  • The source package texinfo builds a new binary package install-info that provides /usr/bin/install-info (a script, see below), and as before /usr/bin/ginstall-info, the real GNU install-info.
  • The install-info package shows interest in the file/dir trigger in /usr/share/info/. If any file is dropped there the triggered action of the package is called which is calling update-info-dir
  • The script /usr/sbin/update-info-dir is new and will regenerate the dir file from the set of all installed info documents by calling ginstall-info on each of them. This approach currently breaks the inclusion of about 50 info documents out of 580 currently in sid. These package will still work but will not appear in the global dir index (so "info jargon" will work, but it will not be found in the dir file). We will file bugs against these packages to fix the texi input file to get a proper info-dir entry.
  • The script /usr/bin/install-info will check whether it was called from a maintainer script (by checking for $DPKG_RUNNING_VERSION) and if it is it warns but does not do anything else due to the implementation of triggers. If it is not called from a maintainer script it gives a warning that this is not dpkg install-info any more and calls ginstall-info with the very same arguments.

Timeline

  • File bugs on all packages with non-self-contained info files (lacking info dir section, so that the --section argument to install-info is not needed anymore).
  • Upload packages with now self-contained info files to unstable.
  • Upload texinfo with new install-info to unstable
  • File bugs on all info-browser providing packages to ensure that the install-info dependency is added if they makes use of the dir file.
  • Upload all info-browser providing packages with new install-info dependency to unstable.
  • Upload the new dpkg.
  • Upload all packages providing info files w/o direct calls to install-info.

Other changes

  • Changes in debhelper (dh_installinfo):
    • Remove all calls to install-info. This should be now handled by triggers.
    • Upload to unstable.
  • Changes in lintian:
    • Warn on incomplete Info files.
    • Warn about maintainer scripts calling install-info directly.
  • 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/. (They could Suggest/Recommend an info-browser package.)
    • Packages using dh_installinfo should just be bin-nmued/rebuilt with a newer debhelper.
    • The Info files must be self-contained (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.
  • Changes in manuals:
    • Policy:
      • 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 the rest is handled by triggers).
    • Other documents?

Links

Resources

  • List of info-browsers (source packages):

Armin Berres <trigger+debian@space-based.de>
   konqueror (U)

Fathi Boudra <fabo@debian.org>
   konqueror (U)

Rob Browning <rlb@defaultvalue.org>
   emacs
   emacs21
   emacs21-nox
   emacs22
   emacs22-gtk
   emacs22-nox

Debian JED Group <pkg-jed-devel@lists.alioth.debian.org>
   jed
   jed-extra
   xjed

Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
   konqueror

Debian TeX maintainers <debian-tex-maint@lists.debian.org>
   info

Frank Küster <frank@debian.org>
   info (U)

Rafael Laboissiere <rafael@debian.org>
   jed (U)
   jed-extra (U)
   xjed (U)

Ana Beatriz Guerrero Lopez <ana@debian.org>
   konqueror (U)

OHURA Makoto <ohura@debian.org>
   xemacs21-gnome-mule
   xemacs21-gnome-mule-canna-wnn
   xemacs21-gnome-nomule
   xemacs21-mule
   xemacs21-mule-canna-wnn
   xemacs21-nomule

Jerome Marant <jerome@debian.org>
   emacs (U)
   emacs21 (U)
   emacs21-nox (U)
   emacs22 (U)
   emacs22-gtk (U)
   emacs22-nox (U)

Guenter Milde <milde@users.sf.net>
   jed-extra (U)

Michael Piefel <piefel@debian.org>
   tkinfo

Norbert Preining <preining@debian.org>
   info (U)

Jörg Sommer <joerg@alea.gnuu.de>
   jed (U)
   xjed (U)

Pino Toscano <pino@kde.org>
   konqueror (U)

Modestas Vainius <modestas@vainius.eu>
   konqueror (U)

Sune Vuorela <debian@pusling.com>
   konqueror (U)

Bas Zoetekouw <bas@debian.org>
   pinfo

Guenter Geiger (Debian/GNU) <geiger@debian.org>
   ladcca-bin

Jari Aalto <jari.aalto@cante.net>
   edb

Bill Allombert <ballombe@debian.org>
   menu

Daniel Baumann <daniel@debian.org>
   acct
   barcode

Mark Brown <broonie@debian.org>
   tua

Devin Carraway <devin@debian.org>
   quelcom

David Coe <davidc@debian.org>
   ispell

Debian GCC Maintainers <debian-gcc@lists.debian.org>
   libcloog-ppl-dev

Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
   libgnucrypto-java

Debian JED Group <pkg-jed-devel@lists.alioth.debian.org>
   jed-common

Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>
   tora

Debian Multimedia Team <debian-multimedia@lists.debian.org>
   opencubicplayer (U)

Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>
   ocaml-doc

Ryan Finnie <ryan@finnie.org>
   robotfindskitten

Jochen Friedrich <jochen@scram.de>
   gmediaserver

Steve Greenland <stevegr@debian.org>
   jargon

Debian QA Group <packages@qa.debian.org>
   oleo

Joerg Jaspert <joerg@debian.org>
   muddleftpd

Tatsuya Kinoshita <tats@debian.org>
   edb (U)
   flim
   semi

Matthias Klose <doko@debian.org>
   libcloog-ppl-dev (U)
   python2.4-doc
   python2.5-doc

Noèl Köthe <noel@debian.org>
   smbc

Rafael Laboissiere <rafael@debian.org>
   jed-common (U)

Chris Lawrence <lawrencc@debian.org>
   latex2rtf-doc

Ola Lundqvist <opal@debian.org>
   source-highlight

OHURA Makoto <ohura@debian.org>
   vflib3-doc
   xemacs21-support

A Mennucc1 <mennucc1@debian.org>
   libsnmpkit-dev
   xmorph

Michael Meskes <meskes@debian.org>
   tora (U)

Samuel Mimram <smimram@debian.org>
   ocaml-doc (U)

David Nusinow <dnusinow@debian.org>
   xconq-doc

Patrick Ouellette <pouelle@debian.org>
   opt

Mathias Palm <mathias.palm@gmx.net>
   libvformat1-dev

Gerrit Pape <pape@smarden.org>
   bcron

Gürkan Sengün <gurkan@linuks.mine.nu>
   opencubicplayer

Bradley Smith <bradsmith@debian.org>
   mathgl-doc

Jörg Sommer <joerg@alea.gnuu.de>
   jed-common (U)

Fabio Tranchitella <kobold@debian.org>
   gtkdialog

Luis Uribe <acme@eviled.org>
   netmask

Arnaud Vandyck <avdyk@debian.org>
   libgnucrypto-java (U)

Remi Vanicat <vanicat@debian.org>
   ocaml-doc (U)

Rémi Vanicat <vanicat@debian.org>
   realtimebattle-common

Santiago Vila <sanvila@debian.org>
   diff-doc

Taku YASUI <tach@debian.or.jp>
   sdic