@branches = apply_throttle(@branches);
-my $global_lock_dir =
- $EximBuild::conf{global_lock_dir}
- ||$EximBuild::conf{build_root}
- ||'';
+my $global_lock_dir = $EximBuild::conf{global_lock_dir}
+ // $EximBuild::conf{build_root}
+ // die "$0: need global_lock_dir\n";
-unless ($global_lock_dir && -d $global_lock_dir)
-{
- die "no global lock directory: $global_lock_dir";
-}
+die "$0: need r/w permissions for directory '$global_lock_dir'\n"
+ if not -d -w $global_lock_dir;
# acquire the lock
$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;