Hi! Been meaning to ask Nicolas and you for the status of the install-info transition. But here it is now, so moving to debian-dpkg where it belongs.
On Mon, 2009-03-09 at 15:04:41 +0100, Norbert Preining wrote: > 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 > texinfo. > > 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. If you could take care of the texinfo side, I will have plenty of time starting next month, so I might be able to handle the rest of the transition. > Proposal to replace Debian's install-info with GNU's install-info > ================================================================= > Nicolas François <nicolas.franc...@centraliens.net> > Norbert Preining <prein...@debian.org> > Nathanael Nerode <nero...@fastmail.fm> > debian-dpkg@lists.debian.org > texi...@packages.debian.org > > 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. Sounds good. > 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. Removal for squeeze should give enough time. > + Changes in texinfo > - a new install-info package replaces dpkg's install-info Given that we have other info viewers, that seems better than bundling it in the info or texinfo packages. > - 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 Agreed, legacy arguments should be deprecated and we should just switch to whatever GNU install-info provides, and warning about it seems appropriate. > - 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? These two would be needed to be able to support triggers. > - 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. I don't think this point should be a blocker for the transition, just a nice feature to have. > - Fix some regressions from dpkg's install-info. > (IIRC an alignment regression was mentioned with GNU's texinfo) IIRC this will just get fixed once we switch to GNU install-info. > + 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. I'd say way better to just use triggers, and stop doing anything in the maintainer scripts... > - Packages using dh_installinfo should just depends on a new debhelper > version. ... and so this one becomes a no-op. > - 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. See above. > + 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? I don't think this should be a blocker either, policy documents practice anyway, so it can be adapted later. > 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 There's a list in <http://lintian.debian.org/tags/info-document-missing-dir-section.html> but it might not include the packages which install bogus info files but use the install-info --section option. > * 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 Probably better to create a new install-info package with those two, and making info (and maybe texinfo) depend on it. * upload pinfo depending on install-info. > * upload debhelper. This one does not need to be uploaded right away if we use triggers. > * 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) These three can be done in parallel. > * upload empty install-info in dpkg (no need to wait for the end of the > previous step). And I'd do this just after having an install-info package and pinfo depending on it. All the rest seems ok, and thanks for the transition plan! regards, guillem -- To UNSUBSCRIBE, email to debian-dpkg-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org