summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2010-12-14 11:04:56 +0000
committerCaolán McNamara <caolanm@redhat.com>2010-12-14 11:04:56 +0000
commit3428ef5eb45b27ba77a0dd9be327b26b492a732f (patch)
tree752903112e5f1194b8c152834e855161a30e2919 /solenv
parentc1030a6bf90f776b224ff4d180cf04dc72334e40 (diff)
try and rebuild dependencies on first dmake failure
Diffstat (limited to 'solenv')
-rwxr-xr-xsolenv/bin/build.pl12
1 files changed, 12 insertions, 0 deletions
diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
index d5e92c88a0c0..6bde4c2e2db0 100755
--- a/solenv/bin/build.pl
+++ b/solenv/bin/build.pl
@@ -783,6 +783,18 @@ sub dmake_dir {
remove_from_dependencies($job_name, \%local_deps_hash) if (!$child);
return if ($cmd_file || $show);
$error_code = run_job($dmake, $job_name);
+
+ #if dmake fails, have a go at regenerating the dependencies
+ #and try again
+ if ($error_code && ($ENV{nodep} eq '') && ($ENV{depend} eq '')) {
+ print "Forcing regeneration of dependency info\n";
+ $ENV{depend} = 't';
+ run_job($dmake, $job_name);
+ print "Retrying $job_name\n";
+ $ENV{depend} = '';
+ $error_code = run_job($dmake, $job_name);
+ }
+
html_store_job_info(\%local_deps_hash, $job_name, $error_code) if (!$child);
};
if ($error_code && $ignore) {