#!/usr/bin/perl -w
-#
-# Reads debian/info, installs all files listed there into /usr/share/info
-# and puts appropriate commands into the postinst.
+=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, ".");
}
- 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/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/");
- }
-
- foreach $file (@info) {
- # Only register with install-info if this is a head file in
- # a tree of info files.
- if ($file !~ /-\d+$/ && ! $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/share/info/".Debian::Debhelper::Dh_Lib::basename($file);
-
- if ($section ne '') {
- $section=~s:/:\\/:g; # allow / in section.
- autoscript($PACKAGE,"postinst","postinst-info",
- "s/#SECTION#/$section/g;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