#!./perl -w
+
BEGIN {
@INC = qw(lib);
# This needs to be at BEGIN time, before any use of Config
+ # install_lib itself loads and imports Config into main::
require './install_lib.pl';
}
+
use strict;
use Getopt::Long;
-require File::Path;
use ExtUtils::Packlist;
use Pod::Man;
use vars qw(%opts $packlist);
}
}
- File::Path::mkpath($mandir, $opts{verbose}, 0777) unless $opts{notify};
+ mkpath($mandir);
foreach my $manpage (sort keys %$modpods) {
my $mod = $modpods->{$manpage};
print " $xmanpage\n" unless $opts{silent};
if (!$opts{notify} && $parser->parse_from_file($mod, $tmp)) {
if (-s $tmp) {
- if (rename($tmp, $manpage)) {
+ if (safe_rename($tmp, $manpage)) {
$packlist->{$xmanpage} = { type => 'file' };
next;
}
$packlist->write() unless $opts{notify};
print " Installation complete\n" if $opts{verbose};
-sub rename {
- my($from,$to) = @_;
- if (-f $to and not unlink($to)) {
- my($i);
- for ($i = 1; $i < 50; $i++) {
- last if CORE::rename($to, "$to.$i");
- }
- warn("Cannot rename to '$to.$i': $!"), return 0
- if $i >= 50; # Give up!
- }
- link($from,$to) || return 0;
- unlink($from);
-}
-
# Local variables:
# cperl-indent-level: 4
# indent-tabs-mode: nil