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.
=item B<-Xitem>, B<--exclude=item>
Exclude files that contain "item" anywhere in their filename from
-being installed.
+being installed. Note that this includes doc-base files.
=item I<file ...>
=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
if ($dh{EXCLUDE_FIND}) {
$exclude = ' -and ! \( '.$dh{EXCLUDE_FIND}.' \)';
}
+ if (! compat(4)) {
+ # ignore empty files in subdirs
+ $exclude .= ' -and ! -empty';
+ }
foreach my $doc (@docs) {
next if excludefile($doc);
- if (-d $doc && $exclude) {
+ next if -e $doc && ! -s $doc && ! compat(4); # ignore empty files
+ if (-d $doc && length $exclude) {
my ($dir_basename) = basename($doc);
- # Pity there's no cp --exclude ..
my $pwd=`pwd`;
chomp $pwd;
- complex_doit("cd $doc/.. && find $dir_basename -type f$exclude -exec cp --parents -dp {} $pwd/$tmp/usr/share/doc/$package \\;");
+ complex_doit("cd $doc/.. && find $dir_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");
foreach my $fn (grep {/^${regexp}doc-base(\..*)?$/} readdir(DEB)) {
# .EX are example files, generated by eg, dh-make
next if $fn=~/\.EX$/;
+ next if excludefile($fn);
# Parse the file to get the doc id.
open (IN, "debian/$fn") || die "Cannot read debian/$fn.";
while (<IN>) {