Package: debhelper
Version: 5.0.37.1
Severity: wishlist
Tags: patch
Hello,
please add the option --prefer-from-docs-files to dh_installdocs to
prefer files from debian/package.docs over files specified on command
line. This option can be usefull to solve bug #369268 in cdbs.
I tried to implement this option but I don't know whether the approach
to solve #369268 is okay. So I would like at least a comment from a cdbs
maintainer whether he supports this wishlist bug and will make use of
the new option.
Also the documentation of the new option should be reviewed since I'm
not a native english speaker.
Any comments also on the cdbs bug are appreciated.
Yours
Micha
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.8-3-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Versions of packages debhelper depends on:
ii binutils 2.16.1cvs20060413-1 The GNU assembler, linker and bina
ii coreutils 5.96-3 The GNU core utilities
ii dpkg-dev 1.13.21 package building tools for Debian
ii file 4.17-2 Determines file type using "magic"
ii html2text 1.3.2a-3 An advanced HTML to text converter
ii perl 5.8.8-6 Larry Wall's Practical Extraction
ii po-debconf 1.0.2 manage translated Debconf template
debhelper recommends no packages.
-- no debconf information
diff -urN debhelper-5.0.37.1/Debian/Debhelper/Dh_Getopt.pm
debhelper-micha/Debian/Debhelper/Dh_Getopt.pm
--- debhelper-5.0.37.1/Debian/Debhelper/Dh_Getopt.pm 2006-04-14
00:35:50.000000000 +0200
+++ debhelper-micha/Debian/Debhelper/Dh_Getopt.pm 2006-06-19
11:59:18.134530504 +0200
@@ -170,6 +170,8 @@
"language=s" => \$options{LANGUAGE},
+ "prefer-from-docs-files" => \$options{PREFER_FROM_DOCS_FILES},
+
"<>" => \&NonOption,
);
diff -urN debhelper-5.0.37.1/dh_installdocs debhelper-micha/dh_installdocs
--- debhelper-5.0.37.1/dh_installdocs 2006-01-04 02:20:51.000000000 +0100
+++ debhelper-micha/dh_installdocs 2006-06-19 12:11:49.700275144 +0200
@@ -11,7 +11,7 @@
=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<-n>] [B<-X>I<item>]
[B<--prefer-from-docs-files>] [S<I<file ...>>]
=head1 DESCRIPTION
@@ -29,6 +29,10 @@
binary package in debian/control, but if you use B<-p>, B<-i>, or B<-a> flags,
it
will be the first package specified by those flags.
+If you use B<--prefer-from-docs-files> filenames listed in debian/package.docs
+will get installed from the origin listed in debian/package.docs preferred over
+filename's origins specified as parameter.
+
Also, debian/README.Debian (or debian/README.debian) and debian/TODO, if
they exist, will be installed into the first binary package listed in
debian/control, if dh_installdocs is acting on that package. Note that
@@ -66,6 +70,11 @@
Exclude files that contain "item" anywhere in their filename from
being installed. Note that this includes doc-base files.
+=item B<--prefer-from-docs-files>
+
+Install the files specified on command line only if no equal named file
+is listed in the corresponding debian/package.docs.
+
=item I<file ...>
Install these files as documentation into the first package acted on. (Or
@@ -117,7 +126,21 @@
}
if (($package eq $dh{FIRSTPACKAGE} || $dh{PARAMS_ALL}) && @ARGV) {
- push @docs, @ARGV;
+ if ($dh{PREFER_FROM_DOCS_FILES}) {
+ foreach my $argv_doc (@ARGV) {
+ my $argv_doc_basename = basename($argv_doc);
+ my $basename_collision = 0;
+ foreach my $doc (@docs) {
+ if (basename($doc) eq
$argv_doc_basename) {
+ $basename_collision = 1;
+ last;
+ }
+ }
+ push @docs, $argv_doc if not
$basename_collision;
+ }
+ } else {
+ push @docs, @ARGV;
+ }
}
if (@docs) {