]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_installinfo
r189: Initial revision
[debhelper.git] / dh_installinfo
diff --git a/dh_installinfo b/dh_installinfo
new file mode 100755 (executable)
index 0000000..b6ae40f
--- /dev/null
@@ -0,0 +1,61 @@
+#!/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;
+init();
+
+foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
+       $TMP=tmpdir($PACKAGE);
+       $file=pkgfile($PACKAGE,"info");
+
+       undef @info;
+       
+       if ($file) {
+               @info=filearray($file);
+       }
+
+       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:");
+               }
+       }
+}