From b97d540fe70d58f416449e4ac85885ae3e2cc698 Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Tue, 24 Apr 2012 05:22:57 +0200 Subject: dh_installman: Recognize sections from mdoc .Dt entries --- dh_installman | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/dh_installman b/dh_installman index e1182815..52d1e6b1 100755 --- a/dh_installman +++ b/dh_installman @@ -18,22 +18,23 @@ B [S>] [S ...>] B is a debhelper program that handles installing man pages into the correct locations in package build directories. You tell -it what man pages go in your packages, and it figures out where to -install them based on the section field in their B<.TH> line. If you have a -properly formatted B<.TH> line, your man page will be installed into the right -directory, with the right name (this includes proper handling of pages -with a subsection, like B<3perl>, which are placed in F, and given an -extension of F<.3perl>). If your B<.TH> line is incorrect or missing, the program -may guess wrong based on the file extension. +it what man pages go in your packages, and it figures out where to install +them based on the section field in their B<.TH> or B<.Dt> line. If you have +a properly formatted B<.TH> or B<.Dt> line, your man page will be installed +into the right directory, with the right name (this includes proper handling +of pages with a subsection, like B<3perl>, which are placed in F, and +given an extension of F<.3perl>). If your B<.TH> or B<.Dt> line is incorrect +or missing, the program may guess wrong based on the file extension. It also supports translated man pages, by looking for extensions like F<.ll.8> and F<.ll_LL.8>, or by use of the B<--language> switch. If B seems to install a man page into the wrong section or with the wrong extension, this is because the man page has the wrong section -listed in its B<.TH> line. Edit the man page and correct the section, and -B will follow suit. See L for details about the B<.TH> -section. If B seems to install a man page into a directory +listed in its B<.TH> or B<.Dt> line. Edit the man page and correct the +section, and B will follow suit. See L for details +about the B<.TH> section, and L for the B<.Dt> section. If +B seems to install a man page into a directory like F, that is because your program has a name like F, and B assumes that means it is translated into Polish. Use B<--language=C> to avoid this. @@ -118,7 +119,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) { } my $section; - # See if there is a .TH entry in the man page. If so, + # See if there is a .TH or .Dt entry in the man page. If so, # we'll pull the section field from that. if ($gz) { open (IN, "zcat $page|") or die "$page: $!"; @@ -127,7 +128,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) { open (IN, $page) or die "$page: $!"; } while () { - if (/^\.TH\s+\S+\s+"?(\d+[^"\s]*)"?/) { + if (/^\.TH\s+\S+\s+"?(\d+[^"\s]*)"?/ || + /^\.Dt\s+\S+\s+(\d+[^\s]*)/) { $section=$1; last; } -- cgit v1.2.3