aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Iurt/Emi.pm
diff options
context:
space:
mode:
authorPascal Terjan <pterjan@mageia.org>2019-11-01 21:20:12 +0000
committerPascal Terjan <pterjan@mageia.org>2019-11-01 21:20:12 +0000
commit3a8b9560ccd568a1b1e97990a0b3da3f58b5d244 (patch)
tree1657d98fa2b5d737d4cdaecbeee83a35ff28c5f7 /lib/Iurt/Emi.pm
parent162884bd41d51530fee5376fa661fcb1ba245c01 (diff)
downloadiurt-3a8b9560ccd568a1b1e97990a0b3da3f58b5d244.tar
iurt-3a8b9560ccd568a1b1e97990a0b3da3f58b5d244.tar.gz
iurt-3a8b9560ccd568a1b1e97990a0b3da3f58b5d244.tar.bz2
iurt-3a8b9560ccd568a1b1e97990a0b3da3f58b5d244.tar.xz
iurt-3a8b9560ccd568a1b1e97990a0b3da3f58b5d244.zip
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.
Diffstat (limited to 'lib/Iurt/Emi.pm')
-rw-r--r--lib/Iurt/Emi.pm9
1 files changed, 9 insertions, 0 deletions
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/");