Index: CVSROOT/shiela RCS File: /v/ossp/cvs/CVSROOT/shiela,v rcsdiff -q -kk '-r1.2' '-r1.3' -u '/v/ossp/cvs/CVSROOT/shiela,v' 2>/dev/null --- shiela 2000/06/13 14:57:28 1.2 +++ shiela 2000/06/17 12:40:28 1.3 @@ -25,7 +25,7 @@ ## shiela: Shiela control program (syntax: Perl) ## -my $version = '1.0.0'; +my $version = '0.9.0'; require 5.005; @@ -125,7 +125,7 @@ # supplied arguments $RT->{cvsroot} = $ENV{CVSROOT} || die 'unknown CVS root (set $CVSROOT variable)'; - $RT->{userid} = $ENV{LOGUSER} || $ENV{LOGNAME} || $ENV{USER} || die 'unknown CVS user'; + $RT->{userid} = $ENV{LOGNAME} || $ENV{LOGUSER} || $ENV{USER} || die 'unknown CVS user'; # various directory paths $RT->{tmpdir} = $ENV{TMPDIR} || $ENV{TEMPDIR} || '/tmp'; @@ -172,10 +172,12 @@ } return $prog; } - $RT->{sendmail} = &find_program("ssmtp") || + $RT->{sendmail} = $CF->{Environment}->{Sendmail} || + &find_program("ssmtp") || &find_program("sendmail") || die "unable to find `sendmail' program"; - $RT->{cvs} = &find_program("cvs") || + $RT->{cvs} = $CF->{Environment}->{CVS} || + &find_program("cvs") || die "unable to find `cvs' program"; # pre-calculate a reasonable MIME boundary tag @@ -368,6 +370,8 @@ # in parallel (through a callback function) create the final # configuration structure. my $CF = { + 'Environment' => { + }, 'Project' => { 'User' => {}, 'Group' => {} @@ -382,7 +386,7 @@ my $cf = &parse_config($t, \&parse_config_callback, $CF); sub parse_config_callback { my ($CF, $action, $level, $cf) = @_; - if ($action eq 'CMD' and $cf->[0] =~ m/(Project|Repository|Logging)/) { + if ($action eq 'CMD' and $cf->[0] =~ m/(Environment|Project|Repository|Logging)/) { my $a; foreach $a (@{$cf->[1]}) { $CF->{$1}->{$a->[0]} = $a->[1]