From a836346ee6fb7a12766559562a00b0675ad48a59 Mon Sep 17 00:00:00 2001 From: short <> Date: Wed, 20 Aug 2003 11:45:02 +0000 Subject: [PATCH] &_readfile and &_writefile: Fail on failed file close. - The open file could be pipe with failed return code. &writefile: +Support destination pipe if $filename=~/^[|]/. Patch 'configure' to keep executability of config.status-substed files. --- AutoGen.pm | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/AutoGen.pm b/AutoGen.pm index 64dbad3..8f5399d 100644 --- a/AutoGen.pm +++ b/AutoGen.pm @@ -88,7 +88,7 @@ my($filename)=@_; local *F; open F,$filename or confess "Open \"$filename\": $!"; my $r=; - close F or cluck "Close \"$filename\": $!"; + close F or confess "Close \"$filename\": $!"; # Do not &cluck as it may be pipe result return $r; } @@ -97,9 +97,9 @@ sub _writefile my($filename,@content)=@_; local *F; - open F,">".$filename or confess "rewrite \"$filename\": $!"; + open F,($filename=~/^[|]/ ? "" : ">").$filename or confess "rewrite \"$filename\": $!"; print F @content; - close F or cluck "close \"$filename\": $!"; + close F or confess "close \"$filename\": $!"; # Do not &cluck as it may be pipe result } my %_rpmeval_cache; @@ -549,6 +549,22 @@ my($class,%options)=@_; File::Touch->new("atime_only"=>1)->touch("ChangeLog") if !$Options{"ChangeLog"}; _system qw(automake --add-missing),@copy_arg; _system qw(autoconf); + _writefile "| patch configure",<<'CONFIGURE_SUBST_X_EOF'; +--- configure-orig Wed Aug 20 12:10:37 2003 ++++ configure Wed Aug 20 13:22:51 2003 +@@ -21590,6 +21590,11 @@ + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file ++ for f in $ac_file_inputs; do ++ if test -x $f; then ++ chmod +x $ac_file ++ fi ++ done + else + cat $tmp/out + rm -f $tmp/out +CONFIGURE_SUBST_X_EOF # Why it is left there after RedHat autoconf-2.53-8 ? _remove "nocheck",\1,"autom4te-*.cache"; -- 1.8.3.1