]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_installdocs
r1770: releasing version 4.9.3
[debhelper.git] / dh_installdocs
index 9b5922f84148666a9ad2f3d16e5e325eb18cac68..52d1675fb7ff787c17603ef38b0953a7099005cd 100755 (executable)
@@ -20,7 +20,7 @@ documentation into usr/share/doc/package in package build directories.
 
 dh_installdocs automatically installs debian/copyright if it exists. If
 dh_installdocs is acting on multiple packages, debian/copyright files will be
-installed into all packages. However, if you need to have seperate copyright
+installed into all packages. However, if you need to have separate copyright
 files for different binary packages, you can use files named
 debian/package.copyright.
 
@@ -39,11 +39,6 @@ debian/package.TODO can be used to specify files for subpackages.
 
 Files named debian/package.docs can list other files to be installed.
 
-This program will automatically generate postinst and prerm commands to
-maintain a compatibility symlink, /usr/doc/package, to the documentation in
-/usr/share/doc/package. See L<dh_installdeb(1)> for an explanation of how
-this works.
-
 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
@@ -78,6 +73,17 @@ in all packages if B<-A> is specified).
 
 =back
 
+=head1 EXAMPLES
+
+This is an example of a debian/package.docs file:
+
+  README
+  TODO
+  debian/notes-for-maintainers.txt
+  docs/manual.txt
+  docs/manual.pdf
+  docs/manual-html/
+
 =head1 NOTES
 
 Note that dh_installdocs will happily copy entire directory hierarchies if
@@ -93,6 +99,8 @@ instances of the same text to be added to maintainer scripts.
 init();
 
 foreach my $package (@{$dh{DOPACKAGES}}) {
+       next if is_udeb($package);
+       
        my $tmp=tmpdir($package);
        my $file=pkgfile($package,"docs");
 
@@ -115,10 +123,11 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
        if (@docs) {
                my $exclude = '';
                if ($dh{EXCLUDE_FIND}) {
-                       $exclude = ' \( ! '.$dh{EXCLUDE_FIND}.' \)';
+                       $exclude = ' -and ! \( '.$dh{EXCLUDE_FIND}.' \)';
                }
                foreach my $doc (@docs) {
                        next if excludefile($doc);
+                       next if ! -s $doc && ! compat(4); # ignore empty BUGS, etc
                        if (-d $doc && $exclude) {
                            my ($dir_basename) = basename($doc);
                            # Pity there's no cp --exclude ..
@@ -130,7 +139,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                                doit("cp","-a",$doc,"$tmp/usr/share/doc/$package");
                        }
                }
-               doit("chown","-R","0.0","$tmp/usr/share/doc");
+               doit("chown","-R","0:0","$tmp/usr/share/doc");
                doit("chmod","-R","go=rX","$tmp/usr/share/doc");
                doit("chmod","-R","u+rw","$tmp/usr/share/doc");
        }
@@ -174,16 +183,6 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                }
        }
 
-       # Add in the /usr/doc compatibility symlinks code.
-       if (! $dh{NOSCRIPTS}) {
-               autoscript($package,"postinst","postinst-doc",
-                       "s/#PACKAGE#/$package/g",
-               );
-               autoscript($package,"prerm","prerm-doc",
-                       "s/#PACKAGE#/$package/g",
-               );
-       }
-
        # Handle doc-base files. There are two filename formats, the usual
        # plus an extended format (debian/package.*).
        my %doc_ids;
@@ -197,6 +196,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                $regexp="(|$regexp)";
        }
        foreach my $fn (grep {/^${regexp}doc-base(\..*)?$/} readdir(DEB)) {
+               # .EX are example files, generated by eg, dh-make
+               next if $fn=~/\.EX$/;
                # Parse the file to get the doc id.
                open (IN, "debian/$fn") || die "Cannot read debian/$fn.";
                while (<IN>) {
@@ -230,7 +231,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
 
 =head1 SEE ALSO
 
-L<debhelper(1)>
+L<debhelper(7)>
 
 This program is a part of debhelper.