diff options
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | lib/Iurt/Emi.pm | 4 | ||||
-rw-r--r-- | lib/Iurt/Queue.pm | 4 | ||||
-rw-r--r-- | t/emi_finisher.t | 4 | ||||
-rw-r--r-- | t/emi_mandatory.t | 6 | ||||
-rw-r--r-- | t/emi_non_mandatory.t | 10 | ||||
-rwxr-xr-x | ulri | 4 |
7 files changed, 19 insertions, 15 deletions
@@ -1,5 +1,7 @@ - emi: fix a bug where genhdlist2 was skipped when doing a secondary upload containing a noarch at the same time as some other uploads +- fix reuse of {arch} part of the tree which is used by ulri for both builds + in progress and already done, while emi expects it to be only for done ones 0.6.26 - ulri: when failing to send a build to a machine do not try sending all the diff --git a/lib/Iurt/Emi.pm b/lib/Iurt/Emi.pm index b1bc619..a0ed76e 100644 --- a/lib/Iurt/Emi.pm +++ b/lib/Iurt/Emi.pm @@ -44,7 +44,7 @@ sub find_prefixes_ready_to_upload { foreach my $m (@wanted_archs, 'src') { $pkg_tree{$prefix}{media}{$media}{excluded_arch}{$m} and next; my $x = "yes"; - if (!$pkg_tree{$prefix}{media}{$media}{arch}{$m}) { + if (!$pkg_tree{$prefix}{media}{$media}{done_arch}{$m}) { $missing{$m} = 1; $x = "no"; $ok = 0; @@ -177,7 +177,7 @@ sub upload_prefix_in_media { # If we are here, mandatory arches are done, no need to check them my $mandatory_arch = get_mandatory_arch($config, $target); foreach my $arch (difference2(\@arch_list, $mandatory_arch)) { - next if $pkg_tree->{$prefix}{media}{$media}{arch}{$arch}; + next if $pkg_tree->{$prefix}{media}{$media}{done_arch}{$arch}; $all_done = 0; } } diff --git a/lib/Iurt/Queue.pm b/lib/Iurt/Queue.pm index bf1f4f6..f6907e6 100644 --- a/lib/Iurt/Queue.pm +++ b/lib/Iurt/Queue.pm @@ -181,7 +181,7 @@ sub get_upload_tree_state { plog('DEBUG', "found already built rpm $rpm ($prefix) for media $media"); $pkg_tree{$prefix}{target} = $f; if ($arch eq 'src') { - $pkg_tree{$prefix}{media}{$media}{arch}{src} = 1; + $pkg_tree{$prefix}{media}{$media}{done_arch}{src} = 1; } push @{$pkg_tree{$prefix}{media}{$media}{rpms}} , $rpm; push @{$pkg_tree{$prefix}{rpms}} , $rpm; @@ -189,7 +189,7 @@ sub get_upload_tree_state { my ($arch, $result) = ($1, $2); plog('DEBUG', "found .$result ($prefix) for $arch"); if ($result eq 'done') { - $pkg_tree{$prefix}{media}{$media}{arch}{$arch} = 1; + $pkg_tree{$prefix}{media}{$media}{done_arch}{$arch} = 1; } elsif ($result eq 'excluded') { $arch = $config->{arch_translation}{$arch} if $config->{arch_translation}{$arch}; $pkg_tree{$prefix}{media}{$media}{excluded_arch}{$arch} = 1; diff --git a/t/emi_finisher.t b/t/emi_finisher.t index b66a1be..8bfed63 100644 --- a/t/emi_finisher.t +++ b/t/emi_finisher.t @@ -12,7 +12,7 @@ my %pkg_tree = ( 'target' => 'cauldron', 'media' => { 'core/release' => { - 'arch' => { + 'done_arch' => { 'i586' => 1, 'x86_64' => 1, 'src' => 1 @@ -43,7 +43,7 @@ my %pkg_tree = ( 'media' => { 'core/release' => { 'uploaded' => 1, - 'arch' => { + 'done_arch' => { 'armv5tl' => 1, 'i586' => 1, 'x86_64' => 1, diff --git a/t/emi_mandatory.t b/t/emi_mandatory.t index e50d328..90ba2a2 100644 --- a/t/emi_mandatory.t +++ b/t/emi_mandatory.t @@ -12,7 +12,7 @@ my %pkg_tree = ( 'target' => 'cauldron', 'media' => { 'core/release' => { - 'arch' => { + 'done_arch' => { 'x86_64' => 1, 'src' => 1 }, @@ -34,7 +34,7 @@ my %pkg_tree = ( 'target' => 'cauldron', 'media' => { 'core/release' => { - 'arch' => { + 'done_arch' => { 'i586' => 1, 'x86_64' => 1, 'src' => 1 @@ -61,7 +61,7 @@ my %pkg_tree = ( 'target' => 'cauldron', 'media' => { 'core/release' => { - 'arch' => { + 'done_arch' => { 'x86_64' => 1, 'src' => 1 }, diff --git a/t/emi_non_mandatory.t b/t/emi_non_mandatory.t index 8aa2c94..44031f6 100644 --- a/t/emi_non_mandatory.t +++ b/t/emi_non_mandatory.t @@ -28,7 +28,7 @@ my %pkg_tree = ( 'target' => 'cauldron', 'media' => { 'core/release' => { - 'arch' => { + 'done_arch' => { 'armv5tl' => 1, 'x86_64' => 1, 'src' => 1 @@ -58,7 +58,7 @@ my %pkg_tree = ( 'target' => 'cauldron', 'media' => { 'core/release' => { - 'arch' => { + 'done_arch' => { 'armv5tl' => 1, 'i586' => 1, 'x86_64' => 1, @@ -93,7 +93,7 @@ my %pkg_tree = ( 'target' => 'cauldron', 'media' => { 'core/release' => { - 'arch' => { + 'done_arch' => { 'armv5tl' => 1, 'x86_64' => 1, 'src' => 1 @@ -127,7 +127,7 @@ my %pkg_tree = ( 'media' => { 'core/release' => { 'uploaded' => 1, - 'arch' => { + 'done_arch' => { 'armv5tl' => 1, 'i586' => 1, 'x86_64' => 1, @@ -154,7 +154,7 @@ my %pkg_tree = ( 'target' => 'cauldron', 'media' => { 'core/release' => { - 'arch' => { + 'done_arch' => { 'x86_64' => 1, 'src' => 1 }, @@ -375,6 +375,7 @@ foreach my $prefix (keys %pkg_tree) { if ($done) { create_file("$done_dir/${prefix}_$arch.done", "$bot $host"); + $pkg_tree{$prefix}{media}{$media}{done_arch}{$arch} = 1; $success = 1; } @@ -491,9 +492,10 @@ foreach my $prefix (sort keys %pkg_tree) { # need to find a bot for each arch foreach my $arch (@arch_list) { # Skip this arch if the package is already building as noarch or for this arch - # or if it should not be built on this arch or it has already failed + # or if it should not be built on this arch or it has already failed or succeeded next if $pkg_tree{$prefix}{media}{$media}{arch}{noarch}; next if $pkg_tree{$prefix}{media}{$media}{arch}{$arch}; + next if $pkg_tree{$prefix}{media}{$media}{done_arch}{$arch}; next if $pkg_tree{$prefix}{media}{$media}{excluded_arch}{$arch}; next if $pkg_tree{$prefix}{media}{$media}{failed_arch}{$arch}; |