Fix reinstalling packages with a different buildtime

This commit is contained in:
Jaroslav Mracek 2019-09-10 09:51:34 +02:00
parent aff1cfd6f3
commit bdbf4be79a
2 changed files with 76 additions and 2 deletions

View File

@ -0,0 +1,70 @@
From a506502d13da6087f47ed88206a2366f74515b83 Mon Sep 17 00:00:00 2001
From: Jaroslav Mracek <jmracek@redhat.com>
Date: Tue, 3 Sep 2019 11:01:51 +0200
Subject: [PATCH] Keep installed packages in upgrade job (RhBug:1728252,1644241,1741381)
In combination with marking of job as TARGETED it prevents from
reinstalling of modified packages with same NEVRA.
https://bugzilla.redhat.com/show_bug.cgi?id=1728252
https://bugzilla.redhat.com/show_bug.cgi?id=1644241
https://bugzilla.redhat.com/show_bug.cgi?id=1741381
Closes: #1474
Approved by: m-blaha
---
dnf.spec | 4 ++--
dnf/base.py | 3 ---
dnf/module/module_base.py | 2 +-
3 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/dnf.spec b/dnf.spec
index e490ead..a7200cc 100644
--- a/dnf.spec
+++ b/dnf.spec
@@ -1,5 +1,5 @@
# default dependencies
-%global hawkey_version 0.35.3
+%global hawkey_version 0.35.5
%global libcomps_version 0.1.8
%global libmodulemd_version 1.4.0
%global rpm_version 4.14.0
@@ -79,7 +79,7 @@
It supports RPMs, modules and comps groups & environments.
Name: dnf
-Version: 4.2.9
+Version: 4.2.11
Release: 1%{?dist}
Summary: %{pkg_summary}
# For a breakdown of the licensing, see PACKAGE-LICENSING
diff --git a/dnf/base.py b/dnf/base.py
index b0c78d3..29d3e5f 100644
--- a/dnf/base.py
+++ b/dnf/base.py
@@ -1970,9 +1970,6 @@ class Base(object):
obsoletes=q.installed().union(q.upgrades()))
# add obsoletes into transaction
q = q.union(obsoletes)
- # provide only available packages to solver otherwise selection of available
- # possibilities will be ignored
- q = q.available()
if reponame is not None:
q.filterm(reponame=reponame)
q = self._merge_update_filters(q, pkg_spec=pkg_spec)
diff --git a/dnf/module/module_base.py b/dnf/module/module_base.py
index c86eabe..0fe1179 100644
--- a/dnf/module/module_base.py
+++ b/dnf/module/module_base.py
@@ -214,7 +214,7 @@ class ModuleBase(object):
if not upgrade_package_set:
logger.error(_("Unable to match profile in argument {}").format(spec))
- query = self.base.sack.query().available().filterm(name=upgrade_package_set)
+ query = self.base.sack.query().filterm(name=upgrade_package_set)
if query:
sltr = dnf.selector.Selector(self.base.sack)
sltr.set(pkg=query)
--
libgit2 0.28.2

View File

@ -1,5 +1,5 @@
# default dependencies
%global hawkey_version 0.35.3
%global hawkey_version 0.35.3-3
%global libcomps_version 0.1.8
%global libmodulemd_version 1.4.0
%global rpm_version 4.14.0
@ -80,13 +80,14 @@ It supports RPMs, modules and comps groups & environments.
Name: dnf
Version: 4.2.9
Release: 2%{?dist}
Release: 3%{?dist}
Summary: %{pkg_summary}
# For a breakdown of the licensing, see PACKAGE-LICENSING
License: GPLv2+ and GPLv2 and GPL
URL: https://github.com/rpm-software-management/dnf
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Patch0001: 0001-Revert-Add-best-as-default-behavior-RhBug16707761671683.patch
Patch0002: 0002-Keep-installed-packages-in-upgrade-job-RhBug172825216442411741381.patch
# Temporary patch to not fail on modular RPMs without modular metadata
# until the infrastructure is ready
Patch0007: 0007-Revert-consequences-of-Fail-Safe-mechanism.patch
@ -506,6 +507,9 @@ ln -sr %{buildroot}%{confdir}/vars %{buildroot}%{_sysconfdir}/yum/vars
%endif
%changelog
* Thu Sep 10 2019 Jaroslav Mracek <jmracek@redhat.com> - 4.2.9-3
- Backport patch to fix reinstalling packages with a different buildtime
* Fri Aug 16 2019 Miro Hrončok <mhroncok@redhat.com> - 4.2.9-2
- Rebuilt for Python 3.8