X-Git-Url: https://git.exim.org/buildfarm-client.git/blobdiff_plain/707a4894cb762d150f48663ae8034224dfca183f..552a2c7d076c106a12009a45c56a5152de658014:/run_build diff --git a/run_build b/run_build index e8ec50a..2212415 100755 --- a/run_build +++ b/run_build @@ -32,7 +32,7 @@ See accompanying License file for license details ################################################### -use vars qw($VERSION); $VERSION = 'REL_0.1'; +our $VERSION = 'REL_0.1'; use strict; use warnings; @@ -43,6 +43,7 @@ use File::Copy; use File::Basename; use File::Temp; use File::Spec; +use FindBin qw'$Bin'; use IO::Handle; use POSIX qw(:signal_h strftime); use Data::Dumper; @@ -82,6 +83,8 @@ if ($0 =~ /(.*)\.pl$/) { exec $1, @ARGV; } +die "$0: please use an umask of 022\n" + if umask > 022; my %module_hooks; my $orig_dir = getcwd(); @@ -152,6 +155,18 @@ print_help() if ($help); # process config file # require $buildconf; +#use Data::Dumper; +#die Dumper \%EximBuild::conf; + +# some basic checks +die "$0: need read/write permissions on '$EximBuild::conf{global_lock_dir}': $!\n" + if not -r -w $EximBuild::conf{global_lock_dir}; + +# Does not seem to be necessary +#die "$0: permissions on '$EximBuild::conf{build_root}' should be >= 0775\n" +# if -d $EximBuild::conf{build_root} +# and ((stat $EximBuild::conf{build_root})[2] & 0775) != 0775; + # get the config data into some local variables my ( @@ -1428,6 +1443,13 @@ sub get_script_config_dump orig_env => $orig_env, }; delete $conf->{secret}; + + if ($conf->{scm} eq 'git') { + chomp($conf->{farm}{revision} = `git -C $Bin describe --tags --always --dirty=+`); + $conf->{farm}{cwd} = getcwd(); + $conf->{farm}{bindir} = $Bin; + } + $Data::Dumper::Sortkeys = 1; return Data::Dumper->Dump([$conf],['Script_Config']); }