From 6d64b06f7a33b9ca2cabcae3d8408ab3bbdfbf62 Mon Sep 17 00:00:00 2001 From: Hallvard B Furuseth Date: Thu, 8 Feb 1996 01:36:50 +0100 Subject: [PATCH 1/1] installman patch: Dont remove manpages unless the new one is good Fix 2 installman bugs: * If the old manpage existed, it was removed even if $pod2man failed. * If installman aborted, an incomplete manpage was left in $MANPATH. --- installman | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/installman b/installman index 13cb75f..76ab23c 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"; } -- 1.8.3.1