Le mar. 7 avr. 2020 à 12:08, Thierry Vignaud <thierry.vign...@gmail.com> a écrit :
> > So soon you say? Well, its almost a year since 4.15 alpha and annual > >> > release schedule isn't *that* fast. More like trying to get back on >> > track with this release stuff after some erratic years. >> > >> > Anyway, here goes. The two major themes here are: preparing to finally >> > kick Berkeley DB out, and (conditional) macro expressions. If you ever >> > thought %{?foo:bar} is too limited, this one is for you. >> >> So this is what I get for trying to cut a release on Monday: the >> originally linked rpm-4.15.90-git14970 snapshot has a buggy rpm.pc file >> which prevents using it for linking. Since an important aspect of alpha >> testing is testing other software... duh. >> >> Just pushed a new snapshot (rpm-4.15.90-git14971) to fix that and >> updated the download links + hashes, but if you were eager enough to >> have grabbed the first snapshot then you'll want to update. >> >> > >> > Highlights include: >> > - Powerful macro and %if expressions including ternary operator >> > - New sqlite and read-only BDB backends, NDB promoted to stable >> > - Automatic SSD detection and optimization on Linux >> >> Seems I also forgotten some highlights as well: >> >> - Support for dependency generation with parametric macros >> - Support for dependency generation based on MIME types >> >> The details and download info still at >> >> https://rpm.org/wiki/Releases/4.16.0 >> > > I kept procrastining for 2 weeks but, as usual ( :-) ), there's a > regression caught by urpmi's testsuite. > The nice thing is that there's only one regression this time. > > t/superuser--srpm-bootstrapping.t fails: > > t/superuser--srpm-bootstrapping.t (Wstat: 1536 > Tests: 21 Failed: 6) > Failed tests: 4, 9-10, 14, 19-20 > Non-zero exit status: 6 > > The "interesting" part is that: > 1) if I skip t/02create_pkgs.t (building rpms from test spec files) and > keep the rpms generated with rpm-4.15.1, it passes > 1) Similarly if I skip t/02create_pkgs.t and keep the rpms generated with > rpm-4.16.0a, running the testsuite with rpm-4.15 fails > > I'ven't dig further, whether it's a bug in rpm or a change in rpm showing > a bogus expectation in urpmi. > And since I don't have much time, let's report the issue. > At least, there's one change: > $ rpmdiff > ./media.4.15/SRPMS-srpm-bootstrapping/srpm-bootstrapping-1-1.src.rpm > ./media.4.16/media/SRPMS-srpm-bootstrapping/srpm-bootstrapping-1-1.src.rpm > added PROVIDES srpm-bootstrapping = 1-1 > > (which is expected) > Eventually, it's that new provides that makes URPM resolver to derail… It's a 2 lines changes in URPM::Resolve This is because of"Add NEVR provides for all packages that would be built into source rpms" commit 75ec16e660e784d7897b37cac1a2b9b135825f25 This broke expectations in URPM/urpmi when processing SRPMs…
From baf3fa111904e59a6b46e8e32e31234ddd161cb6 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud <thierry.vign...@gmail.com> Date: Tue, 7 Apr 2020 16:12:01 +0200 Subject: [PATCH] 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(-) 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; -- 2.26.0
_______________________________________________ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint