]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_installinfo
Typo. Closes: #653339
[debhelper.git] / dh_installinfo
index b6ae40f9ea2f82e8f74abb706821ef60c8b63c23..91ca96bbc10abc33ebde04d481d9ab3c018ec588 100755 (executable)
@@ -1,61 +1,87 @@
 #!/usr/bin/perl -w
-#
-# Reads debian/info, installs all files listed there into /usr/info
-# and puts appropriate commands into the postinst.
 
-BEGIN { push @INC, "debian", "/usr/lib/debhelper" }
-use Dh_Lib;
+=head1 NAME
+
+dh_installinfo - install info files
+
+=cut
+
+use strict;
+use Debian::Debhelper::Dh_Lib;
+
+=head1 SYNOPSIS
+
+B<dh_installinfo> [S<I<debhelper options>>] [B<-A>] [S<I<file> ...>]
+
+=head1 DESCRIPTION
+
+B<dh_installinfo> is a debhelper program that is responsible for installing
+info files into F<usr/share/info> in the package build directory.
+
+=head1 FILES
+
+=over 4
+
+=item debian/I<package>.info
+
+List info files to be installed.
+
+=back
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-A>, B<--all>
+
+Install all files specified by command line parameters in ALL packages
+acted on.
+
+=item I<file> ...
+
+Install these info files into the first package acted on. (Or in
+all packages if B<-A> is specified).
+
+=back
+
+=cut
+
 init();
 
-foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
-       $TMP=tmpdir($PACKAGE);
-       $file=pkgfile($PACKAGE,"info");
+foreach my $package (@{$dh{DOPACKAGES}}) {
+       my $tmp=tmpdir($package);
+       my $file=pkgfile($package,"info");
 
-       undef @info;
+       my @info;
        
        if ($file) {
-               @info=filearray($file);
+               @info=filearray($file, ".");
        }
 
-       if (($PACKAGE eq $dh{FIRSTPACKAGE} || $dh{PARAMS_ALL}) && @ARGV) {
+       if (($package eq $dh{FIRSTPACKAGE} || $dh{PARAMS_ALL}) && @ARGV) {
                push @info, @ARGV;
        }
 
        if (@info) {
-               if ( ! -d "$TMP/usr/info") {
-                       doit("install","-d","$TMP/usr/info");
-               }
-               doit("cp",@info,"$TMP/usr/info");
-               doit("chmod","-R", "go=rX","$TMP/usr/info/");
-               doit("chmod","-R", "u+rw","$TMP/usr/info/");
-       }
-
-       foreach $file (@info) {
-               # Only register with install-info if this is a head file in
-               # a tree of info files.
-               if ($file=~/\.info$/ && ! $dh{NOSCRIPTS}) {
-                       # Figure out what section this file goes in.
-                       my $section;
-                       open (IN, "<$file") || die "$file: $!";
-                       while (<IN>) {
-                               if (/INFO-DIR-SECTION\s+(.*)/) {
-                                       $section=$1;
-                                       last;
-                               }
-                       }
-                       close IN;
-                       
-                       my $fn="/usr/info/".Dh_Lib::basename($file);
-                       
-                       if ($section ne '') {
-                               autoscript($PACKAGE,"postinst","postinst-info",
-                                       "s/#SECTION#/$section/;s:#FILE#:$fn:");
-                       }
-                       else {
-                               autoscript($PACKAGE,"postinst","postinst-info-nosection",
-                                       "s/#FILE#/$fn/");
-                       }
-                       autoscript($PACKAGE,"prerm","prerm-info", "s:#FILE#:$fn:");
+               if ( ! -d "$tmp/usr/share/info") {
+                       doit("install","-d","$tmp/usr/share/info");
                }
+               doit("cp",@info,"$tmp/usr/share/info");
+               doit("chmod","-R", "go=rX","$tmp/usr/share/info/");
+               doit("chmod","-R", "u+rw","$tmp/usr/share/info/");
+               # For transition, could be removed later.
+               addsubstvar($package, "misc:Depends", "dpkg (>= 1.15.4) | install-info");
        }
 }
+
+=head1 SEE ALSO
+
+L<debhelper(7)>
+
+This program is a part of debhelper.
+
+=head1 AUTHOR
+
+Joey Hess <joeyh@debian.org>
+
+=cut