summaryrefslogtreecommitdiff
path: root/installman
diff options
context:
space:
mode:
Diffstat (limited to 'installman')
-rwxr-xr-xinstallman16
1 files changed, 9 insertions, 7 deletions
diff --git a/installman b/installman
index 13cb75f649..76ab23c558 100755
--- a/installman
+++ b/installman
@@ -90,13 +90,15 @@ sub runpod2man {
$manpage =~ s#\.p(m|od)$##;
$manpage =~ s#/#::#g;
$manpage = "${mandir}/${manpage}.${manext}";
- &cmd("$pod2man $mod > $manpage");
- if (-z $manpage) {
- print STDERR "unlink $manpage\n";
- unless ($notify) {
- unlink($manpage) || warn "cannot unlink $manpage: $!";
- }
- }
+ &cmd("$pod2man $mod > $manpage.tmp");
+ if (-s "$manpage.tmp") {
+ rename("$manpage.tmp", $manpage) && next;
+ warn "cannot rename to $manpage: $!";
+ }
+ print STDERR "unlink $manpage.tmp\n";
+ unless ($notify) {
+ unlink("$manpage.tmp") || warn "cannot unlink $manpage.tmp: $!";
+ }
}
chdir "$builddir" || die "Unable to cd back to $builddir directory!\n$!\n";
}