]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_installdocs
Merge branch 'master' of ssh://git.debian.org/git/debhelper/debhelper
[debhelper.git] / dh_installdocs
index 0350f870bc18a30956c216d06609ddd02021bf3c..1226cf8fabe4bebd5ccc1d9a4ae009c81e3507af 100755 (executable)
@@ -11,7 +11,7 @@ use Debian::Debhelper::Dh_Lib;
 
 =head1 SYNOPSIS
 
 
 =head1 SYNOPSIS
 
-B<dh_installdocs> [S<I<debhelper options>>] [B<-A>] [B<-n>] [B<-X>I<item>] [S<I<file ...>>]
+B<dh_installdocs> [S<I<debhelper options>>] [B<-A>] [B<-X>I<item>] [S<I<file ...>>]
 
 =head1 DESCRIPTION
 
 
 =head1 DESCRIPTION
 
@@ -40,10 +40,8 @@ debian/package.TODO can be used to specify files for subpackages.
 Files named debian/package.docs can list other files to be installed.
 
 Files named debian/package.doc-base, will be installed as doc-base control
 Files named debian/package.docs can list other files to be installed.
 
 Files named debian/package.doc-base, will be installed as doc-base control
-files, and will make this program automatically generate the postinst and
-prerm commands needed to interface with the doc-base package. Note that the
-doc-id will be determined from the "Document:" entry in the
-doc-base control file in question.
+files. Note that the doc-id will be determined from the "Document:" entry
+in the doc-base control file in question.
 
 If your package needs to register more than one document, you need multiple
 files. To accomplish this, you can use files named debian/package.doc-base.*
 
 If your package needs to register more than one document, you need multiple
 files. To accomplish this, you can use files named debian/package.doc-base.*
@@ -57,10 +55,6 @@ files. To accomplish this, you can use files named debian/package.doc-base.*
 Install all files specified by command line parameters in ALL packages
 acted on.
 
 Install all files specified by command line parameters in ALL packages
 acted on.
 
-=item B<-n>, B<--noscripts>
-
-Do not modify postinst/prerm scripts.
-
 =item B<-Xitem>, B<--exclude=item>
 
 Exclude files that contain "item" anywhere in their filename from
 =item B<-Xitem>, B<--exclude=item>
 
 Exclude files that contain "item" anywhere in their filename from
@@ -90,7 +84,7 @@ Note that dh_installdocs will happily copy entire directory hierarchies if
 you ask it to (similar to cp -a). If it is asked to install a
 directory, it will install the complete contents of the directory.
 
 you ask it to (similar to cp -a). If it is asked to install a
 directory, it will install the complete contents of the directory.
 
-Note that this command is not idempotent. "dh_clean B<-k>" should be called
+Note that this command is not idempotent. L<dh_prep(1)> should be called
 between invocations of this command. Otherwise, it may cause multiple
 instances of the same text to be added to maintainer scripts.
 
 between invocations of this command. Otherwise, it may cause multiple
 instances of the same text to be added to maintainer scripts.
 
@@ -123,7 +117,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
        if (@docs) {
                my $exclude = '';
                if ($dh{EXCLUDE_FIND}) {
        if (@docs) {
                my $exclude = '';
                if ($dh{EXCLUDE_FIND}) {
-                       $exclude = ' -and ! \( '.$dh{EXCLUDE_FIND}.' \)';
+                       $exclude .= ' -and ! \( '.$dh{EXCLUDE_FIND}.' \)';
                }
                if (! compat(4)) {
                        # ignore empty files in subdirs
                }
                if (! compat(4)) {
                        # ignore empty files in subdirs
@@ -133,10 +127,11 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                        next if excludefile($doc);
                        next if -e $doc && ! -s $doc && ! compat(4); # ignore empty files
                        if (-d $doc && length $exclude) {
                        next if excludefile($doc);
                        next if -e $doc && ! -s $doc && ! compat(4); # ignore empty files
                        if (-d $doc && length $exclude) {
-                           my ($dir_basename) = basename($doc);
-                           my $pwd=`pwd`;
-                           chomp $pwd;
-                           complex_doit("cd '$doc/..' && find '$dir_basename' \\( -type f -or -type l \\)$exclude -exec cp --parents -dp {} $pwd/$tmp/usr/share/doc/$package \\;");
+                               my $basename = basename($doc);
+                               my $dir = ($basename eq '.') ? $doc : "$doc/..";
+                               my $pwd=`pwd`;
+                               chomp $pwd;
+                               complex_doit("cd '$dir' && find '$basename' \\( -type f -or -type l \\)$exclude -exec cp --parents -dp {} $pwd/$tmp/usr/share/doc/$package \\;");
                        }
                        else {
                                doit("cp", "-a", $doc, "$tmp/usr/share/doc/$package");
                        }
                        else {
                                doit("cp", "-a", $doc, "$tmp/usr/share/doc/$package");
@@ -205,7 +200,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                # Parse the file to get the doc id.
                open (IN, "debian/$fn") || die "Cannot read debian/$fn.";
                while (<IN>) {
                # Parse the file to get the doc id.
                open (IN, "debian/$fn") || die "Cannot read debian/$fn.";
                while (<IN>) {
-                       if (/^Document:\s+([-+.a-z0-9]+)/) {
+                       s/\s*$//;
+                       if (/^Document\s*:\s*(.*)/) {
                                $doc_ids{$fn}=$1;
                                last;
                        }
                                $doc_ids{$fn}=$1;
                                last;
                        }
@@ -222,14 +218,6 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
        foreach my $fn (keys %doc_ids) {
                doit("install","-g",0,"-o",0,"-m644","-p","debian/$fn",
                     "$tmp/usr/share/doc-base/$doc_ids{$fn}");
        foreach my $fn (keys %doc_ids) {
                doit("install","-g",0,"-o",0,"-m644","-p","debian/$fn",
                     "$tmp/usr/share/doc-base/$doc_ids{$fn}");
-               if (! $dh{NOSCRIPTS}) {
-                       autoscript($package,"postinst","postinst-doc-base",
-                               "s/#DOC-ID#/$doc_ids{$fn}/",
-                       );
-                       autoscript($package,"prerm","prerm-doc-base",
-                               "s/#DOC-ID#/$doc_ids{$fn}/",
-                       );
-               }
        }
 }
 
        }
 }