X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~webstump/git?p=modbot-mtm.git;a=blobdiff_plain;f=install-substitutions;h=8df87c0e4f558a7cde3926984ae6b04a810b40c3;hp=b0349fab4684b54184d4a7aa7dd7f12a93aa06fa;hb=221ebe04cb5068f3a138c3d2469caf69a21058e9;hpb=56801be17418e7872d29647f348af045e2a23f7f diff --git a/install-substitutions b/install-substitutions index b0349fa..8df87c0 100755 --- a/install-substitutions +++ b/install-substitutions @@ -1,10 +1,9 @@ #!/bin/bash set -e -. settings -export GROUP -export ABBREV -export INFOHEADER -find -name '*.IN[O1]' -exec perl -e ' + +. ./get-settings + +find -name '*.IN[O1]' ! -path '*/skeleton/*' -exec perl -e ' use IO::Handle; use POSIX; my $f= shift; @@ -14,6 +13,8 @@ find -name '*.IN[O1]' -exec perl -e ' my $g= "$d.new"; open F, "< $f" or die "$f $!"; open G, "> $g" or die "$g $!"; + stat F or die "$f $!"; + my $mode= (stat F)[2]; while () { s/\%(\w+)\%/ exists($ENV{$1}) ? $ENV{$1} : die "$1 ?" @@ -21,8 +22,11 @@ find -name '*.IN[O1]' -exec perl -e ' print G or die $!; } F->error and die $!; - close F or die $!; close G or die $!; + if ($mode & 01) { + chmod 0755, $g or die "$g $!"; + } + close F or die $!; if ($overwrite) { rename $g, $d or die "$g $d $!"; } else {