Backport patch from upstream

This commit is contained in:
Jaroslav Mracek 2019-01-15 16:01:04 +01:00
parent 4caa422ee6
commit 554118dd97
2 changed files with 51 additions and 1 deletions

View File

@ -0,0 +1,46 @@
From 5323eb7e5c0c8dcdf339113f091317afaed810cc Mon Sep 17 00:00:00 2001
From: Michael Schroeder <mls@suse.de>
Date: Tue, 15 Jan 2019 14:06:08 +0100
Subject: [PATCH] Do not disable infarch rules when they don't conflict with the job
---
src/rules.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/rules.c b/src/rules.c
index 2087b35..175cb8d 100644
--- a/src/rules.c
+++ b/src/rules.c
@@ -2126,7 +2126,13 @@ jobtodisablelist(Solver *solv, Id how, Id what, Queue *q)
if ((set & SOLVER_SETARCH) != 0 && solv->infarchrules != solv->infarchrules_end)
{
if (select == SOLVER_SOLVABLE)
- queue_push2(q, DISABLE_INFARCH, pool->solvables[what].name);
+ {
+ for (i = solv->infarchrules; i < solv->infarchrules_end; i++)
+ if (solv->rules[i].p == -what)
+ break;
+ if (i < solv->infarchrules_end)
+ queue_push2(q, DISABLE_INFARCH, pool->solvables[what].name);
+ }
else
{
int qcnt = q->count;
@@ -2140,8 +2146,12 @@ jobtodisablelist(Solver *solv, Id how, Id what, Queue *q)
if (q->elements[i + 1] == s->name)
break;
if (i < q->count)
- continue;
- queue_push2(q, DISABLE_INFARCH, s->name);
+ continue; /* already have that DISABLE_INFARCH element */
+ for (i = solv->infarchrules; i < solv->infarchrules_end; i++)
+ if (solv->rules[i].p == -p)
+ break;
+ if (i < solv->infarchrules_end)
+ queue_push2(q, DISABLE_INFARCH, s->name);
}
}
}
--
libgit2 0.27.7

View File

@ -40,7 +40,7 @@
Name: lib%{libname} Name: lib%{libname}
Version: 0.7.2 Version: 0.7.2
Release: 2%{?dist} Release: 3%{?dist}
Summary: Package dependency solver Summary: Package dependency solver
License: BSD License: BSD
@ -49,6 +49,7 @@ Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Patch0001: 0001-Fix-Dereference-of-null-pointer.patch Patch0001: 0001-Fix-Dereference-of-null-pointer.patch
Patch0002: 0001-Fix-testsolv-segfault.patch Patch0002: 0001-Fix-testsolv-segfault.patch
Patch0003: 0001-Fix-testsolv-segfaults.patch Patch0003: 0001-Fix-testsolv-segfaults.patch
Patch0004: 0001-Do-not-disable-infarch-rules-when-they-dont-conflict-with-the-job.patch
BuildRequires: cmake BuildRequires: cmake
BuildRequires: gcc-c++ BuildRequires: gcc-c++
@ -291,6 +292,9 @@ Python 3 version.
%endif %endif
%changelog %changelog
* Tue Jan 15 2019 Jaroslav Mracek <jmracek@redhat.com> - 0.7.2-2
- Backport Do-not-disable-infarch-rules-when-they-dont-conflict-with-the-job
* Sat Jan 12 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.7.2-2 * Sat Jan 12 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.7.2-2
- Fix small security issues - Fix small security issues