summaryrefslogtreecommitdiff
path: root/installman
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2011-12-18 20:13:11 +0100
committerNicholas Clark <nick@ccl4.org>2011-12-19 13:55:20 +0100
commitd6a39ee219352c8fc402faf6a553b9669b197013 (patch)
tree15acc0327123a3ea76f327ff8866ded01a9a2186 /installman
parentd026567169117ec75730af8e7bc75ee589117e4e (diff)
downloadperl-d6a39ee219352c8fc402faf6a553b9669b197013.tar.gz
installman should use the data in pod.lst to track dual-life pods in lib/
This ensures that perlfaq*, perlglossary, perlxs, perlxstut and perldoc's man pages are installed in man1, not man3, along with any future dual-life pods. This is an improvement on commit 0beff067932254cd which only dealt with perlfaq* and perlglossary, and had the unfortunate side effect of also causing these 11 files to be installed to bin/
Diffstat (limited to 'installman')
-rwxr-xr-xinstallman13
1 files changed, 9 insertions, 4 deletions
diff --git a/installman b/installman
index 145c366e05..e986a78410 100755
--- a/installman
+++ b/installman
@@ -14,6 +14,9 @@ use ExtUtils::Packlist;
use Pod::Man;
use vars qw(%opts $packlist);
+require './Porting/pod_lib.pl';
+my $state = get_pod_metadata();
+
$ENV{SHELL} = 'sh' if $^O eq 'os2';
my $patchlevel = substr($],3,2);
@@ -69,7 +72,11 @@ my %do_not_install = map { ($_ => 1) } qw(
);
# Install the main pod pages.
-pod2man('pod', $opts{man1dir}, $opts{man1ext});
+pod2man({
+ map {
+ $_ && @$_ > 2 && !$_->[0]{aux} ? ($_->[4], $_->[2]): ()
+ } @{$state->{master}}
+ }, $opts{man1dir}, $opts{man1ext});
# Install the pods for library modules.
pod2man('lib', $opts{man3dir}, $opts{man3ext});
@@ -137,9 +144,7 @@ sub pod2man {
return if m!(?:^|/)t/!;
s!^\Q$what\E/!!;
return if $do_not_install{$_};
- # perlfaq manpages are installed in section 1,
- # so skip when searching files for section 3
- return if m(perlfaq.?\.pod|perlglossary.pod);
+ return if is_duplicate_pod($File::Find::name);
$modpods->{$_} = $File::Find::name;
}
}},