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,
any of the man pages in the temporary directories of any of the packages it
is acting on contain ".so" links. If so, it changes them to symlinks.
+Also, 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.
+
=head1 OPTIONS
=over 4
=cut
-init();
+init(options => {
+ "language=s" => \$dh{LANGUAGE},
+});
my @sofiles;
my @sodests;
my $file=pkgfile($package,"manpages");
my @manpages;
- if ($file) {
- @manpages=filearray($file, ".");
- }
+ @manpages=filearray($file, ".") if $file;
if (($package eq $dh{FIRSTPACKAGE} || $dh{PARAMS_ALL}) && @ARGV) {
push @manpages, @ARGV;
# Now get the numeric component of the section.
my ($realsection)=$section=~m/^(\d)/ if defined $section;
-
- # If there is no numeric section, bail.
if (! $realsection) {
error("Could not determine section for $page");
}
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.
doit "rm","-f",$sofile;
doit "ln","-sf",$sodest,$sofile;
}
+
+ # Now utf-8 conversion.
+ foreach my $dir (qw{usr/share/man usr/X11R6/man}) {
+ if (-e "$tmp/$dir") {
+ find(sub {
+ return if ! -f $_ || -l $_;
+ my ($tmp, $orig)=($_.".new", $_);
+ complex_doit "man --recode UTF-8 ./\Q$orig\E > \Q$tmp\E";
+ # recode uncompresses compressed pages
+ doit "rm", "-f", $orig if s/\.(gz|Z)$//;
+ doit "chmod", 644, $tmp;
+ doit "mv", "-f", $tmp, $_;
+ }, "$tmp/$dir");
+ }
+ }
}
# Check if a file is a .so man page, for use by File::Find.