|
Igor Gnatenko |
70d2a33 |
From ab986180f9c67d37b6fe826c0348cebaefe6d81a Mon Sep 17 00:00:00 2001
|
|
Igor Gnatenko |
70d2a33 |
From: Igor Gnatenko <ignatenko@redhat.com>
|
|
Igor Gnatenko |
70d2a33 |
Date: Fri, 29 Apr 2016 14:53:07 +0200
|
|
Igor Gnatenko |
70d2a33 |
Subject: [PATCH] Revert "using ts.addReinstall for package reinstallation
|
|
Igor Gnatenko |
70d2a33 |
(RhBug:1071854)"
|
|
Igor Gnatenko |
70d2a33 |
|
|
Igor Gnatenko |
70d2a33 |
This reverts commit 516aad977e108df0f99c0bfc03a25b180888937f.
|
|
Igor Gnatenko |
70d2a33 |
|
|
Igor Gnatenko |
70d2a33 |
reinstall stuff implemented in rpm 4.12 which we don't have backported into epel7
|
|
Igor Gnatenko |
70d2a33 |
|
|
Igor Gnatenko |
70d2a33 |
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
|
|
Igor Gnatenko |
70d2a33 |
---
|
|
Igor Gnatenko |
70d2a33 |
dnf/base.py | 4 ++++
|
|
Igor Gnatenko |
70d2a33 |
dnf/cli/commands/reinstall.py | 1 +
|
|
Igor Gnatenko |
70d2a33 |
dnf/rpm/transaction.py | 1 -
|
|
Igor Gnatenko |
70d2a33 |
dnf/transaction.py | 6 +++---
|
|
Igor Gnatenko |
70d2a33 |
tests/test_transaction.py | 3 ++-
|
|
Igor Gnatenko |
70d2a33 |
5 files changed, 10 insertions(+), 5 deletions(-)
|
|
Igor Gnatenko |
70d2a33 |
|
|
Igor Gnatenko |
70d2a33 |
diff --git a/dnf/base.py b/dnf/base.py
|
|
Igor Gnatenko |
70d2a33 |
index abb22ac..f56b4f6 100644
|
|
Igor Gnatenko |
70d2a33 |
--- a/dnf/base.py
|
|
Igor Gnatenko |
70d2a33 |
+++ b/dnf/base.py
|
|
Igor Gnatenko |
70d2a33 |
@@ -1603,6 +1603,7 @@ class Base(object):
|
|
Igor Gnatenko |
70d2a33 |
|
|
Igor Gnatenko |
70d2a33 |
def reinstall(self, pkg_spec, old_reponame=None, new_reponame=None,
|
|
Igor Gnatenko |
70d2a33 |
new_reponame_neq=None, remove_na=False):
|
|
Igor Gnatenko |
70d2a33 |
+ self._add_reinstall_rpm_probfilters()
|
|
Igor Gnatenko |
70d2a33 |
subj = dnf.subject.Subject(pkg_spec)
|
|
Igor Gnatenko |
70d2a33 |
q = subj.get_best_query(self.sack)
|
|
Igor Gnatenko |
70d2a33 |
installed_pkgs = [
|
|
Igor Gnatenko |
70d2a33 |
@@ -1768,6 +1769,7 @@ class Base(object):
|
|
Igor Gnatenko |
70d2a33 |
assert len(obsoleteds_) == 1
|
|
Igor Gnatenko |
70d2a33 |
obsoleteds.append(obsoleteds_[0])
|
|
Igor Gnatenko |
70d2a33 |
assert len(news) == 1
|
|
Igor Gnatenko |
70d2a33 |
+ self._add_reinstall_rpm_probfilters()
|
|
Igor Gnatenko |
70d2a33 |
self._transaction.add_reinstall(first(olds), news[0],
|
|
Igor Gnatenko |
70d2a33 |
obsoleteds)
|
|
Igor Gnatenko |
70d2a33 |
|
|
Igor Gnatenko |
70d2a33 |
@@ -1914,6 +1916,8 @@ class Base(object):
|
|
Igor Gnatenko |
70d2a33 |
myrepos += '\n'
|
|
Igor Gnatenko |
70d2a33 |
self.history.write_addon_data('config-repos', myrepos)
|
|
Igor Gnatenko |
70d2a33 |
|
|
Igor Gnatenko |
70d2a33 |
+ def _add_reinstall_rpm_probfilters(self):
|
|
Igor Gnatenko |
70d2a33 |
+ self.rpm_probfilter.add(rpm.RPMPROB_FILTER_REPLACEPKG)
|
|
Igor Gnatenko |
70d2a33 |
|
|
Igor Gnatenko |
70d2a33 |
def _msg_installed(pkg):
|
|
Igor Gnatenko |
70d2a33 |
name = ucd(pkg)
|
|
Igor Gnatenko |
70d2a33 |
diff --git a/dnf/cli/commands/reinstall.py b/dnf/cli/commands/reinstall.py
|
|
Igor Gnatenko |
70d2a33 |
index b0294c2..7b01345 100644
|
|
Igor Gnatenko |
70d2a33 |
--- a/dnf/cli/commands/reinstall.py
|
|
Igor Gnatenko |
70d2a33 |
+++ b/dnf/cli/commands/reinstall.py
|
|
Igor Gnatenko |
70d2a33 |
@@ -75,6 +75,7 @@ class ReinstallCommand(commands.Command):
|
|
Igor Gnatenko |
70d2a33 |
local_pkgs = map(self.base.add_remote_rpm, filenames)
|
|
Igor Gnatenko |
70d2a33 |
results = map(self.base.package_reinstall, local_pkgs)
|
|
Igor Gnatenko |
70d2a33 |
done = functools.reduce(operator.or_, results, False)
|
|
Igor Gnatenko |
70d2a33 |
+ self.base._add_reinstall_rpm_probfilters()
|
|
Igor Gnatenko |
70d2a33 |
|
|
Igor Gnatenko |
70d2a33 |
# Reinstall packages.
|
|
Igor Gnatenko |
70d2a33 |
for pkg_spec in pkg_specs:
|
|
Igor Gnatenko |
70d2a33 |
diff --git a/dnf/rpm/transaction.py b/dnf/rpm/transaction.py
|
|
Igor Gnatenko |
70d2a33 |
index cfb4f61..117aec1 100644
|
|
Igor Gnatenko |
70d2a33 |
--- a/dnf/rpm/transaction.py
|
|
Igor Gnatenko |
70d2a33 |
+++ b/dnf/rpm/transaction.py
|
|
Igor Gnatenko |
70d2a33 |
@@ -25,7 +25,6 @@ class TransactionWrapper(object):
|
|
Igor Gnatenko |
70d2a33 |
'order',
|
|
Igor Gnatenko |
70d2a33 |
'addErase',
|
|
Igor Gnatenko |
70d2a33 |
'addInstall',
|
|
Igor Gnatenko |
70d2a33 |
- 'addReinstall',
|
|
Igor Gnatenko |
70d2a33 |
'run',
|
|
Igor Gnatenko |
70d2a33 |
'pgpImportPubkey',
|
|
Igor Gnatenko |
70d2a33 |
'pgpPrtPkts',
|
|
Igor Gnatenko |
70d2a33 |
diff --git a/dnf/transaction.py b/dnf/transaction.py
|
|
Igor Gnatenko |
70d2a33 |
index 5cec604..1e2f584 100644
|
|
Igor Gnatenko |
70d2a33 |
--- a/dnf/transaction.py
|
|
Igor Gnatenko |
70d2a33 |
+++ b/dnf/transaction.py
|
|
Igor Gnatenko |
70d2a33 |
@@ -186,9 +186,9 @@ class Transaction(object):
|
|
Igor Gnatenko |
70d2a33 |
else:
|
|
Igor Gnatenko |
70d2a33 |
ts.addInstall(hdr, tsi, 'i')
|
|
Igor Gnatenko |
70d2a33 |
elif tsi.op_type == REINSTALL:
|
|
Igor Gnatenko |
70d2a33 |
- # note: in rpm 4.12 there should not be set
|
|
Igor Gnatenko |
70d2a33 |
- # rpm.RPMPROB_FILTER_REPLACEPKG to work
|
|
Igor Gnatenko |
70d2a33 |
- ts.addReinstall(tsi.installed.header, tsi)
|
|
Igor Gnatenko |
70d2a33 |
+ ts.addErase(tsi.erased.idx)
|
|
Igor Gnatenko |
70d2a33 |
+ hdr = tsi.installed.header
|
|
Igor Gnatenko |
70d2a33 |
+ ts.addInstall(hdr, tsi, 'i')
|
|
Igor Gnatenko |
70d2a33 |
elif tsi.op_type == UPGRADE:
|
|
Igor Gnatenko |
70d2a33 |
hdr = tsi.installed.header
|
|
Igor Gnatenko |
70d2a33 |
ts.addInstall(hdr, tsi, 'u')
|
|
Igor Gnatenko |
70d2a33 |
diff --git a/tests/test_transaction.py b/tests/test_transaction.py
|
|
Igor Gnatenko |
70d2a33 |
index a82dce2..c0aeb54 100644
|
|
Igor Gnatenko |
70d2a33 |
--- a/tests/test_transaction.py
|
|
Igor Gnatenko |
70d2a33 |
+++ b/tests/test_transaction.py
|
|
Igor Gnatenko |
70d2a33 |
@@ -211,5 +211,6 @@ class RPMProbFilters(tests.support.TestCase):
|
|
Igor Gnatenko |
70d2a33 |
self.base._sack = tests.support.mock_sack('main')
|
|
Igor Gnatenko |
70d2a33 |
self.base._goal = dnf.goal.Goal(self.base.sack)
|
|
Igor Gnatenko |
70d2a33 |
self.base.reinstall("librita")
|
|
Igor Gnatenko |
70d2a33 |
- expected = rpm.rpm.RPMPROB_FILTER_OLDPACKAGE
|
|
Igor Gnatenko |
70d2a33 |
+ expected = rpm.RPMPROB_FILTER_REPLACEPKG |\
|
|
Igor Gnatenko |
70d2a33 |
+ rpm.rpm.RPMPROB_FILTER_OLDPACKAGE
|
|
Igor Gnatenko |
70d2a33 |
self.base.ts.setProbFilter.assert_called_with(expected)
|
|
Igor Gnatenko |
70d2a33 |
--
|
|
Igor Gnatenko |
70d2a33 |
2.7.4
|
|
Igor Gnatenko |
70d2a33 |
|