X-Git-Url: https://git.exim.org/buildfarm-client.git/blobdiff_plain/550e2278baf9870d8d73666c49f3fe76fd4a47b4..6943bf2a7057c10463e23370067c2c8c3225a73a:/run_build diff --git a/run_build b/run_build index ef80039..a476bdb 100755 --- a/run_build +++ b/run_build @@ -36,6 +36,7 @@ our $VERSION = 'REL_0.1'; use strict; use warnings; +use 5.010; use Config; use Fcntl qw(:flock :seek); use File::Path; @@ -71,6 +72,7 @@ BEGIN : 'xxxxxx' ); } + push @INC, getcwd(); } use EximBuild::SCM; @@ -83,14 +85,13 @@ if ($0 =~ /(.*)\.pl$/) { exec $1, @ARGV; } -die "$0: please use an umask of 022\n" - if umask > 022; +if (umask != 022) { + umask 022; + say "$0: forced umask to 022" if -t; +} my %module_hooks; my $orig_dir = getcwd(); -push @INC, $orig_dir; - -umask 022; # make sure we exit nicely on any normal interrupt # so the cleanup handler gets called. @@ -1036,14 +1037,11 @@ sub make_test print time_str(),"running make test ...\n" if $verbose; my $tests_range = $EximBuild::conf{range_num_tests} || "1 4"; my @makeout; - @makeout =`(cd $exim/test - autoconf && ./configure && $make )2>&1 `; + @makeout =`(cd $exim/test && ./configure && $make )2>&1 `; my $status = $? >>8; unless($status) { - my @tmp = `(WORKDIR=\$PWD - cd $exim/test - ./runtest \$WORKDIR/$exim/src/build-*/exim -CONTINUE $tests_range )2>&1`; + my @tmp = `(cd $exim/test && ./runtest -CONTINUE $tests_range )2>&1`; $status = $? >>8; push @makeout, @tmp; # Prepend the failed summary log outputs for ease of reading @@ -1057,10 +1055,13 @@ sub make_test } } writelog('test',\@makeout); + send_result('Test',$status,\@makeout) if $status; + + @makeout = `cat $exim/test/run-summary.log`; + writelog('test-results',\@makeout); + print "======== make test logs ===========\n",@makeout if ($verbose > 1); - - send_result('Test',$status,\@makeout) if $status; $steps_completed .= " Test"; } @@ -1165,7 +1166,8 @@ sub configure @tmp = `echo "Hardcoded Exim user info:"; id $exim_user cd $exim && perl -pi -e 's/^EXIM_USER=.*/EXIM_USER=$exim_user/' $local_conf`; push @confout, @tmp; - my $me = `whoami`; chomp $me; + #my $me = `whoami`; chomp $me; + my $me = getpwuid($>) // die "$0: getpwuid($>): $!\n"; @tmp = `echo "Build Farm user info:"; id $me cd $exim && perl -pi -e 's/^# CONFIGURE_OWNER=\$/CONFIGURE_OWNER=$me/' $local_conf`; push @confout, @tmp; @@ -1455,6 +1457,7 @@ sub get_script_config_dump chomp($conf->{farm}{revision} = `cd $RealBin && git describe --tags --always --dirty=+`); $conf->{farm}{cwd} = getcwd(); $conf->{farm}{bindir} = $RealBin; + $conf->{farm}{perl} = $^V; } $Data::Dumper::Sortkeys = 1;