From: short <> Date: Wed, 20 Aug 2003 11:45:02 +0000 (+0000) Subject: &_readfile and &_writefile: Fail on failed file close. X-Git-Tag: lufs_0_9_6_captive1~18 X-Git-Url: http://git.jankratochvil.net/?p=macros.git;a=commitdiff_plain;h=a836346ee6fb7a12766559562a00b0675ad48a59;hp=8d1e5812718e7fa4c79c2af83e2a217b1542eb81 &_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. --- 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";