From a36b9036e25c58d568c35f764ff2830a9fc4b2f8 Mon Sep 17 00:00:00 2001 From: "H.Merijn Brand" Date: Mon, 13 Nov 2017 09:03:40 +0100 Subject: Do not (attempt to) install man pages when explicitly disabled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Configure … -Dman1dir=none -Dman3dir=none … → installman1dir='' installman3dir='' --- installman | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) (limited to 'installman') diff --git a/installman b/installman index 0bd435ffa4..b8c7757f37 100755 --- a/installman +++ b/installman @@ -54,6 +54,12 @@ foreach my $pre (qw(man1 man3)) { } $opts{verbose} ||= $opts{notify}; +# Explicitely disabled installation of man pages +if ($opts{man1dir} eq '' && $opts{man3dir} eq '') { + warn "Manual page installation was disabled by Configure\n"; + exit 0; +} + #Sanity checks -x "./perl$Config{exe_ext}" @@ -70,35 +76,37 @@ $packlist = ExtUtils::Packlist->new("$opts{destdir}$Config{installarchlib}/.pack pod2man(\%man1, $opts{man1dir}, $opts{man1ext}, 'pod'); # Install the pods for library modules. -{ +if ($opts{man3dir} ne '') { my $found = pods_to_install(); pod2man($found->{$_}, $opts{man3dir}, $opts{man3ext}, 'lib') foreach qw(MODULE PRAGMA); } # Install the pods embedded in the installed scripts -my $has_man1dir = $opts{man1dir} ne '' && -d $opts{man1dir}; -my $fh = open_or_die('utils.lst'); -while (<$fh>) { - next if /^#/; - chomp; - my ($path, $leaf) = m|^(\S*/(\S+))|; - # Have we already installed the manpage for this? (eg perldoc) - next if $man1{$leaf}; - pod2man({$leaf, $path}, $opts{man1dir}, $opts{man1ext}); - if ($has_man1dir) { - if (my ($link) = m|#.*link\s*=\s*\S+/(\S+)|) { - my $old = "$opts{man1dir}/$leaf.$opts{man1ext}"; - my $new = "$opts{man1dir}/$link.$opts{man1ext}"; - unlink($new); - link($old, $new); - $old =~ s/^\Q$opts{destdir}\E// if $opts{destdir}; - $new =~ s/^\Q$opts{destdir}\E// if $opts{destdir}; - $packlist->{$new} = { from => $old, type => 'link' }; +if ($opts{man1dir} ne '') { + my $has_man1dir = -d $opts{man1dir}; + my $fh = open_or_die('utils.lst'); + while (<$fh>) { + next if /^#/; + chomp; + my ($path, $leaf) = m|^(\S*/(\S+))|; + # Have we already installed the manpage for this? (eg perldoc) + next if $man1{$leaf}; + pod2man({$leaf, $path}, $opts{man1dir}, $opts{man1ext}); + if ($has_man1dir) { + if (my ($link) = m|#.*link\s*=\s*\S+/(\S+)|) { + my $old = "$opts{man1dir}/$leaf.$opts{man1ext}"; + my $new = "$opts{man1dir}/$link.$opts{man1ext}"; + unlink($new); + link($old, $new); + $old =~ s/^\Q$opts{destdir}\E// if $opts{destdir}; + $new =~ s/^\Q$opts{destdir}\E// if $opts{destdir}; + $packlist->{$new} = { from => $old, type => 'link' }; + } } } + close $fh or my_die("close 'utils.lst': $!"); } -close $fh or my_die("close 'utils.lst': $!"); sub pod2man { my($modpods, $mandir, $manext, $where) = @_; -- cgit v1.2.1