Fix problem with demands.cacheonly
This commit is contained in:
parent
5a96c950cd
commit
554b09e888
@ -0,0 +1,32 @@
|
|||||||
|
From bc11bf599ce3102656fa42b0ad0a6c7270822f30 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jaroslav Mracek <jmracek@redhat.com>
|
||||||
|
Date: Mon, 27 Nov 2017 14:35:32 +0100
|
||||||
|
Subject: [PATCH 1/3] Allow to set cacheonly from commands and conf
|
||||||
|
(RhBug:1492036)
|
||||||
|
|
||||||
|
The formal code reacts only to --cacheonly option.
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1492036
|
||||||
|
---
|
||||||
|
dnf/cli/cli.py | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/dnf/cli/cli.py b/dnf/cli/cli.py
|
||||||
|
index f60cdced..11fbed31 100644
|
||||||
|
--- a/dnf/cli/cli.py
|
||||||
|
+++ b/dnf/cli/cli.py
|
||||||
|
@@ -741,7 +741,10 @@ class Cli(object):
|
||||||
|
if not os.getegid() == 0:
|
||||||
|
raise dnf.exceptions.Error(_('This command has to be run under the root user.'))
|
||||||
|
|
||||||
|
- if not demands.cacheonly:
|
||||||
|
+ if demands.cacheonly or self.base.conf.cacheonly:
|
||||||
|
+ self.base.conf.cacheonly = True
|
||||||
|
+ repos.all()._md_only_cached = True
|
||||||
|
+ else:
|
||||||
|
if demands.freshest_metadata:
|
||||||
|
for repo in repos.iter_enabled():
|
||||||
|
repo._md_expire_cache()
|
||||||
|
--
|
||||||
|
2.13.6
|
||||||
|
|
25
0002-Remove-redundant-conf-option-cacheonly.patch
Normal file
25
0002-Remove-redundant-conf-option-cacheonly.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From 777df1098f4215edb8339a56c1807c9217715142 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jaroslav Mracek <jmracek@redhat.com>
|
||||||
|
Date: Mon, 27 Nov 2017 14:38:08 +0100
|
||||||
|
Subject: [PATCH 2/3] Remove redundant conf option cacheonly
|
||||||
|
|
||||||
|
The option was defined twice in "dnf.conf".
|
||||||
|
---
|
||||||
|
dnf/conf/config.py | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/dnf/conf/config.py b/dnf/conf/config.py
|
||||||
|
index f0c39665..f2098fc6 100644
|
||||||
|
--- a/dnf/conf/config.py
|
||||||
|
+++ b/dnf/conf/config.py
|
||||||
|
@@ -778,7 +778,6 @@ class MainConf(BaseConfig):
|
||||||
|
# runtime only options
|
||||||
|
self._add_option('downloadonly', BoolOption(False, runtimeonly=True))
|
||||||
|
self._add_option('ignorearch', BoolOption(False))
|
||||||
|
- self._add_option('cacheonly', BoolOption(False))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def get_reposdir(self):
|
||||||
|
--
|
||||||
|
2.13.6
|
||||||
|
|
44
0003-Remove-unnecessary-code-for-set-cacheonly.patch
Normal file
44
0003-Remove-unnecessary-code-for-set-cacheonly.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
From aebbc222b85a7949a705360ea51b7c987126c2d8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jaroslav Mracek <jmracek@redhat.com>
|
||||||
|
Date: Tue, 28 Nov 2017 09:21:40 +0100
|
||||||
|
Subject: [PATCH 3/3] Remove unnecessary code for set cacheonly
|
||||||
|
|
||||||
|
Attribute repo._md_only_cached is set on different place during
|
||||||
|
_progress_demands().
|
||||||
|
---
|
||||||
|
dnf/repo.py | 5 -----
|
||||||
|
tests/test_cli.py | 2 --
|
||||||
|
2 files changed, 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dnf/repo.py b/dnf/repo.py
|
||||||
|
index e9ce597e..75a11a47 100644
|
||||||
|
--- a/dnf/repo.py
|
||||||
|
+++ b/dnf/repo.py
|
||||||
|
@@ -858,11 +858,6 @@ class Repo(dnf.conf.RepoConf):
|
||||||
|
else:
|
||||||
|
return self._try_revive_by_repomd()
|
||||||
|
|
||||||
|
- def _configure_from_options(self, opts):
|
||||||
|
- if getattr(opts, 'cacheonly', None):
|
||||||
|
- self._md_only_cached = True
|
||||||
|
- super(Repo, self)._configure_from_options(opts)
|
||||||
|
-
|
||||||
|
def disable(self):
|
||||||
|
# :api
|
||||||
|
self.enabled = False
|
||||||
|
diff --git a/tests/test_cli.py b/tests/test_cli.py
|
||||||
|
index f4ea27ee..8963783a 100644
|
||||||
|
--- a/tests/test_cli.py
|
||||||
|
+++ b/tests/test_cli.py
|
||||||
|
@@ -136,8 +136,6 @@ class CliTest(TestCase):
|
||||||
|
self.assertTrue(self.base.repos['comb'].enabled)
|
||||||
|
self.assertFalse(self.base.repos["comb"].gpgcheck)
|
||||||
|
self.assertFalse(self.base.repos["comb"].repo_gpgcheck)
|
||||||
|
- self.assertEqual(self.base.repos["comb"]._sync_strategy,
|
||||||
|
- dnf.repo.SYNC_ONLY_CACHE)
|
||||||
|
|
||||||
|
def test_configure_repos_expired(self, _):
|
||||||
|
"""Ensure that --cacheonly beats the expired status."""
|
||||||
|
--
|
||||||
|
2.13.6
|
||||||
|
|
8
dnf.spec
8
dnf.spec
@ -28,12 +28,15 @@
|
|||||||
|
|
||||||
Name: dnf
|
Name: dnf
|
||||||
Version: 2.7.5
|
Version: 2.7.5
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: Package manager forked from Yum, using libsolv as a dependency resolver
|
Summary: Package manager forked from Yum, using libsolv as a dependency resolver
|
||||||
# For a breakdown of the licensing, see PACKAGE-LICENSING
|
# For a breakdown of the licensing, see PACKAGE-LICENSING
|
||||||
License: GPLv2+ and GPLv2 and GPL
|
License: GPLv2+ and GPLv2 and GPL
|
||||||
URL: https://github.com/rpm-software-management/dnf
|
URL: https://github.com/rpm-software-management/dnf
|
||||||
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
|
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||||
|
Patch0: 0001-Allow-to-set-cacheonly-from-commands-and-conf-RhBug-.patch
|
||||||
|
Patch1: 0002-Remove-redundant-conf-option-cacheonly.patch
|
||||||
|
Patch2: 0003-Remove-unnecessary-code-for-set-cacheonly.patch
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
@ -372,6 +375,9 @@ popd
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Nov 29 2017 Jaroslav Mracek <jmracek@redhat.com> - 2.7.5-4
|
||||||
|
- Fix problem with demands.cacheonly that caused problems for system-upgrade
|
||||||
|
|
||||||
* Tue Nov 07 2017 Igor Gnatenko <ignatenko@redhat.com> - 2.7.5-3
|
* Tue Nov 07 2017 Igor Gnatenko <ignatenko@redhat.com> - 2.7.5-3
|
||||||
- Remove platform-python subpackage
|
- Remove platform-python subpackage
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user