[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Using GNU's install-info in Debian instead of dpkg's install-info



Ian Zimmerman wrote:
> It's wrong on two counts:
> 1/ The visual format of the dir file is used for collecting the sections.
> This has all the robustness of, say, grepping for text in a Postscript file.
> 
> 2/ Since no record is kept of the individual additions by packages,
> there's no way to recreate the dir file from scratch.  So, if a package
> does screw up (often due to 1 above), all one can do is manually edit
> the dirfile.  This happens maddeningly often, at least to me:
> see #367255, #367254, #367251.

I agree, there's also all the fun of bugs in packages that have to deal
with the current complex install-info. (Anyone want to fix #337215 or
#357434 for me?)

> There are two proper fixes.  One is in the realm of policy: require
> every info file passed to install-info to contain the full metadata,
> including INFO-DIR-SECTION.  Then we can dispense with the --section
> option completely and 1 magically goes away, while 2 is solved by
> rescanning the metadata in the top-level installed files (as Joey
> suggests in the other thread).
> 
> The other way is to keep some kind of simple database on the side which
> install-info first updates, then uses to generate the dirfile.  dpkg is
> a required package, so if install-info stays in dpkg the database library
> must also be required.  I thought of asking the Perl maintainer to move
> the venerable Data::Dumper module into perl-base, that would be enough
> for me.

My experience with using Data::Dumper for long-term data storage is
abysmal, it's on the order of dumping C structs to disk. However, my
benchmarks of parsing /usr/share/info/*.info* for all the metadata I think
install-info should need to use the first method suggests it can be done
without perceivable delay on any modern machine (and even reasonably
quickly on my less than modern one).

When I discussed this IRL at DebConf, one problem raised is that this
still leaves Debian w/o an install-info that behaves like GNU expects,
so we still have the portability problems we have now. I wonder if
there's any way to provide an install-info that ignores most/all
parameters and manages to be effectively compatible with programs
expecting the GNU or Debian install-infos while still avoiding
parsing the info dir file.

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature


Reply to: