summaryrefslogtreecommitdiff
path: root/installperl
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2011-12-27 19:44:27 +0100
committerNicholas Clark <nick@ccl4.org>2012-01-02 12:18:54 +0100
commit91e41fa737708602a3ccdf87e0a3f2382f1d42da (patch)
tree8de5ec1867d0e87d73d745aae048706490da036d /installperl
parent2c65a6e1acc3e23ff9beb91b1624637c1a166f5b (diff)
downloadperl-91e41fa737708602a3ccdf87e0a3f2382f1d42da.tar.gz
installperl now uses get_pod_metadata() to install dual-life pods correctly.
This ensures that perlfaq*, perlglossary, perlxs, perlxstut and perldoc's Pod files are installed in the same directory as perl.pod, perlintro.pod etc, as they were in 5.14.0 and earlier releases. This commit is analogous to commit d6a39ee219352c8f, which corrected the install location for man pages.
Diffstat (limited to 'installperl')
-rwxr-xr-xinstallperl14
1 files changed, 8 insertions, 6 deletions
diff --git a/installperl b/installperl
index 73767bdc40..10a3781514 100755
--- a/installperl
+++ b/installperl
@@ -29,6 +29,8 @@ use File::Path ();
use ExtUtils::Packlist;
use Cwd;
+require './Porting/pod_lib.pl';
+
if ($Is_NetWare) {
$Is_W32 = 0;
$scr_ext = '.pl';
@@ -126,8 +128,6 @@ close SCRIPTS;
if ($scr_ext) { @scripts = map { "$_$scr_ext" } @scripts; }
-my @pods = $nopods ? () : (<pod/*.pod>, 'x2p/a2p.pod');
-
# Specify here any .pm files that are actually architecture-dependent.
# (Those included with XS extensions under ext/ are automatically
# added later.)
@@ -550,12 +550,11 @@ if ($versiononly) {
# Install pod pages. Where? I guess in $installprivlib/pod
# ($installprivlib/pods for cygwin).
-
-my $pod = ($Is_Cygwin || $Is_Darwin || $Is_VMS || $Is_W32) ? 'pods' : 'pod';
-if ( !$versiononly || ($installprivlib =~ m/\Q$vershort/)) {
+if (!$nopods && (!$versiononly || ($installprivlib =~ m/\Q$vershort/))) {
+ my $pod = ($Is_Cygwin || $Is_Darwin || $Is_VMS || $Is_W32) ? 'pods' : 'pod';
mkpath("${installprivlib}/$pod", $opts{verbose}, 0777);
- for (@pods) {
+ for (map {$_->[1]} @{get_pod_metadata()->{master}}) {
# $_ is a name like pod/perl.pod
(my $base = $_) =~ s#.*/##;
copy_if_diff($_, "${installprivlib}/$pod/${base}");
@@ -756,6 +755,9 @@ sub installlib {
$name = "$dir/$name" if $dir ne '';
+ # ignore pods that are stand alone documentation from dual life modules.
+ return if /\.pod\z/ && is_duplicate_pod($_);
+
return if $name eq 'ExtUtils/XSSymSet.pm' and !$Is_VMS;
my $installlib = $installprivlib;