diff options
author | Caolán McNamara <caolanm@redhat.com> | 2010-12-14 11:04:56 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2010-12-14 11:04:56 +0000 |
commit | 3428ef5eb45b27ba77a0dd9be327b26b492a732f (patch) | |
tree | 752903112e5f1194b8c152834e855161a30e2919 /solenv | |
parent | c1030a6bf90f776b224ff4d180cf04dc72334e40 (diff) |
try and rebuild dependencies on first dmake failure
Diffstat (limited to 'solenv')
-rwxr-xr-x | solenv/bin/build.pl | 12 |
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) { |