aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xemi12
1 files changed, 11 insertions, 1 deletions
diff --git a/emi b/emi
index 424262b..207f471 100755
--- a/emi
+++ b/emi
@@ -88,10 +88,12 @@ my ($fulldate, $daydate) = get_date();
$run{daydate} = $daydate;
print {$run{LOG}} "$program_name\n";
+my $todo = "$config->{queue}/todo/";
my $done = "$config->{queue}/done/";
my $reject = "$config->{queue}/rejected/";
my %pkg_tree;
+my %excluded;
check_upload_tree(\%run, $done,
sub {
my ($todo, $f, $m, $s, $r) = @_;
@@ -107,7 +109,12 @@ check_upload_tree(\%run, $done,
} elsif ($r =~ /(\d{14}\.\w+\.\w+\.\d+)_(.*)\.done$/) {
my ($prefix, $arch) = ($1, $2);
$cache->{arch}{$prefix}{$arch} = 1
+ } elsif ($r =~ /(\d{14}\.\w+\.\w+\.\d+)_(.*)\.excluded$/) {
+ my ($prefix, $arch) = ($1, $2);
+ $cache->{arch}{$prefix}{$arch} = 1;
+ $excluded{$prefix}{$arch} = 1
}
+
},
);
@@ -119,6 +126,7 @@ foreach my $prefix (keys %pkg_tree) {
print {$run{LOG}} "$program_name: processing $prefix in $path\n";
my %missing;
foreach my $mandatory_arch (@{$config->{mandatory_arch}}, 'src') {
+ $excluded{$prefix}{$mandatory_arch} and next;
print {$run{LOG}} "$program_name: checking if mandatory architecture $mandatory_arch is present: ";
if (!$pkg_tree{$prefix}{arch}{$mandatory_arch} && !$pkg_tree{$prefix}{arch}{noarch}){
if (!$cache->{arch}{$prefix}{$mandatory_arch}) {
@@ -177,7 +185,9 @@ foreach my $prefix (keys %pkg_tree) {
}
# delete the files which should have heen either put in queue or rejected
unlink $_ foreach @packages;
- unlink "$done/$path/$prefix.youri"
+ unlink "$done/$path/$prefix.youri";
+ # unlink the sources rpm, other arch will be able to grab it into the repository
+ unlink "$todo/$path/${prefix}_$_" foreach @{$pkg_tree{$prefix}{srpms}}
} else {
print {$run{LOG}} "WARNING $program_name: mandatory arch (", join(' ', keys %missing),") are missing for $prefix, waiting\n"
}