From c3c6ac847a9cd3a4b87cfc645570b998daf64fb2 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Tue, 7 Apr 2020 16:12:01 +0200 Subject: workaround rpm-4.16 adding provides to SRPMs rationale: rpm-4.16 adds provides for all generated RPMS to SRPMs, which breaks urpmi's testsuite (t/superuser--srpm-bootstrapping.t) See rpm's commit 75ec16e660e784d7897b37cac1a2b9b135825f25 --- URPM/Resolve.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'URPM') diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm index 33504b5..c799dff 100644 --- a/URPM/Resolve.pm +++ b/URPM/Resolve.pm @@ -641,11 +641,12 @@ sub unsatisfied_requires { #- check on the selected package if a provide is satisfying the resolution (need to do the ops). foreach (grep { exists $state->{selected}{$_} } keys %{$urpm->{provides}{$n} || {}}) { my $p = $urpm->{depslist}[$_]; + next if $p->arch eq 'src'; # ignore provides from SRPM (new in rpm-4.16) !$urpm->{provides}{$n}{$_} || $p->provides_overlap($prop) and next REQUIRES; } #- check if the package itself provides what is necessary. - $pkg->provides_overlap($prop) and next REQUIRES; + $pkg->arch ne 'src' and $pkg->provides_overlap($prop) and next REQUIRES; #- check on installed system if a package which is not obsoleted is satisfying the require. my $satisfied = 0; -- cgit v1.2.1