From 3a8b9560ccd568a1b1e97990a0b3da3f58b5d244 Mon Sep 17 00:00:00 2001 From: Pascal Terjan Date: Fri, 1 Nov 2019 21:20:12 +0000 Subject: emi: store uploaded architectures in .upload This allows to know which non mandatory architectures are done and will allow to surface it on the web UI. --- NEWS | 3 +++ emi | 5 ----- lib/Iurt/Emi.pm | 9 +++++++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 82d25c1..f70b9fc 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +- emi: store in the .upload which architectures were uploaded to know if + non mandatory ones are done. + 0.7.8.1 - no changes, fixing bad release diff --git a/emi b/emi index 767b64c..72c3f7d 100755 --- a/emi +++ b/emi @@ -135,11 +135,6 @@ foreach my $target (keys %targets) { foreach my $prefix (keys %is_finisher) { upload_prefix_in_media($config, \%pkg_tree, $prefix, $media, 1); } - - foreach my $prefix (@{$targets{$target}{$media}{to_upload}}) { - my $path = $pkg_tree{$prefix}{media}{$media}{path}; - touch("$done/$path/$prefix.upload") unless -f "$reject/$path/$prefix.youri"; - } } } diff --git a/lib/Iurt/Emi.pm b/lib/Iurt/Emi.pm index 851307c..6a8ea8e 100644 --- a/lib/Iurt/Emi.pm +++ b/lib/Iurt/Emi.pm @@ -7,6 +7,7 @@ use Iurt::Mail qw(sendmail); use Iurt::Queue qw(check_if_all_archs_processed); use Iurt::Util qw(plog); use MDK::Common::Func qw(find); +use MDK::Common::File qw(append_to_file); use MDK::Common::DataStructure qw(difference2); use strict; @@ -159,6 +160,14 @@ sub upload_prefix_in_media { plog('DEBUG', "running $command"); if (!system($command)) { plog('INFO', "upload succeeded"); + my %arches; + foreach my $pkg (@packages) { + my ($arch) = $pkg =~ /\.([^.]*)\.rpm$/; + $arches{$arch} = 1 unless $arch eq 'src'; + } + # Only kee noarch if it's the only architecture + delete $arches{'noarch'} if 1 < keys %arches; + append_to_file("$done/$path/$prefix.upload", map {"$_\n"} keys %arches); } else { # should send a mail or something plog('ERROR', "upload failed ($!), rejecting files in $reject$path/"); -- cgit v1.2.1