[Initially sent to [EMAIL PROTECTED], now forwarded to [EMAIL PROTECTED] Hello,
As promised, I'm bringing back this issue after the release of Etch. texinfo maintainer's CCed. 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 Rational ======== * 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. Transition proposal =================== + 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 - the info package (or 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 file) 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, see below). * 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 version. - 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 be needed. + 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 needed. + 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 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. Timeline ======== 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 install-info options * 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 this step) * 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 previous step). This could start after a discussion here and then on debian-devel. Note: info files will be a nice use case for triggers. Kind Regards, -- Nekral -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]