From 4426b6752a2acd676d566c5a23091b4699e60547 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 21 Jul 2017 13:44:18 +0200 Subject: [PATCH] Backport patch for fixing yumobs Signed-off-by: Igor Gnatenko --- ...yumobs-remove-bogus-queue_empty-call.patch | 26 +++++++++++++++++++ libsolv.spec | 17 ++++++++---- 2 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 0001-yumobs-remove-bogus-queue_empty-call.patch diff --git a/0001-yumobs-remove-bogus-queue_empty-call.patch b/0001-yumobs-remove-bogus-queue_empty-call.patch new file mode 100644 index 0000000..6d73c30 --- /dev/null +++ b/0001-yumobs-remove-bogus-queue_empty-call.patch @@ -0,0 +1,26 @@ +From fe64933a5c9125401f0ae3e928c406d19075c202 Mon Sep 17 00:00:00 2001 +From: Michael Schroeder +Date: Fri, 21 Jul 2017 13:38:15 +0200 +Subject: [PATCH] yumobs: remove bogus queue_empty() call + +The queue_empty made the code only create yumobs rules for one +dependency. It's surprising that nobody ran into this bug until now. +--- + src/rules.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/rules.c b/src/rules.c +index 26b93ea..6c28cdd 100644 +--- a/src/rules.c ++++ b/src/rules.c +@@ -3720,7 +3720,6 @@ solver_addyumobsrules(Solver *solv) + #if 0 + printf("checking yumobs for %s\n", pool_solvable2str(pool, s)); + #endif +- queue_empty(&qo); + for (opp = solv->obsoletes_data + solv->obsoletes[p - installed->start]; (op = *opp++) != 0;) + { + Solvable *os = pool->solvables + op; +-- +2.13.2 + diff --git a/libsolv.spec b/libsolv.spec index 51c39e2..1b35544 100644 --- a/libsolv.spec +++ b/libsolv.spec @@ -39,13 +39,17 @@ Name: lib%{libname} Version: 0.6.28 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Package dependency solver License: BSD URL: https://github.com/openSUSE/libsolv Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz +# https://github.com/openSUSE/libsolv/commit/fe64933a5c9125401f0ae3e928c406d19075c202 +# https://bugzilla.redhat.com/show_bug.cgi?id=1470922 +Patch0001: 0001-yumobs-remove-bogus-queue_empty-call.patch + BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: pkgconfig(rpm) @@ -287,16 +291,19 @@ popd %endif %changelog -* Sat Jul 01 2017 Igor Gnatenko - 0.6.28-1 +* Fri Jul 21 2017 Igor Gnatenko - 0.6.28-2 +- Backport patch for fixing yumobs + +* Sat Jul 01 2017 Igor Gnatenko - 0.6.28-1 - Update to 0.6.28 -* Mon May 29 2017 Igor Gnatenko - 0.6.27-2 +* Mon May 29 2017 Igor Gnatenko - 0.6.27-2 - Backport few fixes for bindings -* Thu May 04 2017 Igor Gnatenko - 0.6.27-1 +* Thu May 04 2017 Igor Gnatenko - 0.6.27-1 - Update to 0.6.27 -* Mon Mar 27 2017 Igor Gnatenko - 0.6.26-5.git.20.668e249 +* Mon Mar 27 2017 Igor Gnatenko - 0.6.26-5.git.20.668e249 - Update to latest snapshot * Sat Mar 18 2017 Neal Gompa - 0.6.26-4.git.19.2262346