Fix check for global_lock_dir
[buildfarm-client.git] / run_build
index 22124159b8a163c41daab51084a75d0b333c60d5..fe3ea9294d4af1579228297f9c3e9b44bf74b369 100755 (executable)
--- a/run_build
+++ b/run_build
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
 
 =comment
 
@@ -90,6 +90,8 @@ 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.
 # that lets us stop the db if it's running and
@@ -158,9 +160,6 @@ 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"
@@ -174,14 +173,22 @@ my (
     $aux_path,$trigger_exclude,$trigger_include,$secret,
     $keep_errs,$force_every, $make, $optional_steps,
     $use_vpath,$tar_log_cmd, $using_msvc, $extra_config,
-    $make_jobs, $core_file_glob
+    $make_jobs, $core_file_glob, $global_lock_dir
   )
   =@EximBuild::conf{
     qw(build_root target animal print_success aux_path trigger_exclude
       trigger_include secret keep_error_builds force_every make optional_steps
-      use_vpath tar_log_cmd using_msvc extra_config make_jobs core_file_glob)
+      use_vpath tar_log_cmd using_msvc extra_config make_jobs core_file_glob global_lock_dir)
   };
 
+# This should be done more generally, for all the scripts
+# including the $buildconf. For now this is duplicated
+# in a similiar war in run_branches.
+$global_lock_dir //= $buildroot // die "$0: need global_lock_dir\n";
+
+die "$0: need read/write permissions on '$global_lock_dir': $!\n"
+    if not -r -w $global_lock_dir;
+
 #default is no parallel build
 $make_jobs ||= 1;