diff options
Diffstat (limited to 'dh_installman')
-rwxr-xr-x | dh_installman | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/dh_installman b/dh_installman index 2ce0e377..55c57370 100755 --- a/dh_installman +++ b/dh_installman @@ -38,6 +38,11 @@ like /usr/share/man/pl/man1/, that is because your program has a name like "foo.pl", and dh_installman assumes that means it is translated into Polish. Use --language=C to avoid this. +dh_installman will use man to guess the character encoding of each manual +page and convert it to UTF-8. If the guesswork fails for some reason, you +can override it using an encoding declaration. See L<manconv(1)> for +details. + Any man page filenames specified as parameters will be installed into the first package dh_installman is told to act on. By default, this is the first binary package in debian/control, but if you use -p, -i, or -a flags, @@ -162,16 +167,23 @@ foreach my $package (@{$dh{DOPACKAGES}}) { $destdir="$tmp/usr/share/man/$langcode/man$realsection/"; } $destdir=~tr:/:/:s; # just for looks + my $instpage="$destdir/$instname.$section"; - next if -l "$destdir/$instname.$section"; - next if compat(5) && -e "$destdir/$instname.$section"; + next if -l $instpage; + next if compat(5) && -e $instpage; if (! -d $destdir) { doit "install","-d",$destdir; } - doit "install","-p","-m644",$page, - "$destdir$instname.$section$gz"; - + if ($gz) { + complex_doit "zcat \Q$page\E > \Q$instpage\E"; + } + else { + doit "install","-p","-m644",$page,$instpage; + } + complex_doit "man --recode UTF-8 \Q$instpage\E > \Q$instpage.new\E"; + doit "chmod",644,"$instpage.new"; + doit "mv","$instpage.new",$instpage; } # Now the .so conversion. |