git://git.exim.org
/
buildfarm-client.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove a perl unicode env var.
[buildfarm-client.git]
/
run_build.pl
diff --git
a/run_build.pl
b/run_build.pl
index d95f64527163ce637cbcd30393c9135c8fe96e09..2171231d95ae745851cbad97310fd7b779c4fb9f 100755
(executable)
--- a/
run_build.pl
+++ b/
run_build.pl
@@
-313,7
+313,8
@@
foreach my $oldfile (glob("last*"))
my $branch_root = getcwd();
my $branch_root = getcwd();
-# make sure we are using GNU make
+# Normally we would require GNU Make, but allow farm
+# configuration to override this
die "$make is not GNU Make - please fix config file"
unless check_make();
die "$make is not GNU Make - please fix config file"
unless check_make();
@@
-505,9
+506,11
@@
$steps_completed = "";
my @changed_files;
my @changed_since_success;
my @changed_files;
my @changed_since_success;
+my $last_config;
my $last_status;
my $last_run_snap;
my $last_success_snap;
my $last_status;
my $last_run_snap;
my $last_success_snap;
+my $current_config;
my $current_snap;
my @filtered_files;
my $savescmlog = "";
my $current_snap;
my @filtered_files;
my $savescmlog = "";
@@
-553,11
+556,20
@@
elsif (!$from_source)
unlink "last.success";
# get the timestamp data
unlink "last.success";
# get the timestamp data
+ $last_config = find_last('config') || 0;
$last_status = find_last('status') || 0;
$last_run_snap = find_last('run.snap');
$last_success_snap = find_last('success.snap');
$forcerun = 1 unless (defined($last_run_snap));
$last_status = find_last('status') || 0;
$last_run_snap = find_last('run.snap');
$last_success_snap = find_last('success.snap');
$forcerun = 1 unless (defined($last_run_snap));
+ # If config file changed, force a rebuild
+ ($current_config) = (stat $orig_dir.'/'.$buildconf)[9];
+ if ($current_config > $last_config)
+ {
+ $last_status = 0;
+ set_last('config',$current_config) unless $nostatus;
+ }
+
# updated by find_changed to last mtime of any file in the repo
$current_snap=0;
# updated by find_changed to last mtime of any file in the repo
$current_snap=0;
@@
-650,9
+662,9
@@
make();
display_features();
display_features();
-make_test() if (check_optional_step('
make_
test'));
+make_test() if (check_optional_step('test'));
-make_doc() if (check_optional_step('
build_docs
'));
+make_doc() if (check_optional_step('
make-doc
'));
##check_port_is_ok($buildport,'Post');
##check_port_is_ok($buildport,'Post');
@@
-816,6
+828,12
@@
sub display_features
sub check_make
{
sub check_make
{
+ # Allow farm member to configure non-GNU make
+ my $non_gnu_make = $EximBuild::conf{non_gnu_make};
+ if (!defined $non_gnu_make ||
+ (defined $non_gnu_make && $non_gnu_make == 1)) {
+ return 'OK';
+ }
my @out = `$make -v 2>&1`;
return undef unless ($? == 0 && grep {/GNU Make/} @out);
return 'OK';
my @out = `$make -v 2>&1`;
return undef unless ($? == 0 && grep {/GNU Make/} @out);
return 'OK';