Fix a crash that breaks Rawhide composes (RhBug:1613577)
This commit is contained in:
parent
38d64216f6
commit
6893ef5688
69
1168.patch
Normal file
69
1168.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
From 8f2e96099960cda6a18e55af6587c74c1379519a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marek Blaha <mblaha@redhat.com>
|
||||||
|
Date: Wed, 8 Aug 2018 10:50:26 +0200
|
||||||
|
Subject: [PATCH] [conf] Do not traceback on empty option (RhBug:1613577)
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1613577
|
||||||
|
---
|
||||||
|
dnf/conf/config.py | 2 +-
|
||||||
|
tests/conf/test_parser.py | 14 ++++++++++++--
|
||||||
|
tests/etc/empty_option.conf | 2 ++
|
||||||
|
3 files changed, 15 insertions(+), 3 deletions(-)
|
||||||
|
create mode 100644 tests/etc/empty_option.conf
|
||||||
|
|
||||||
|
diff --git a/dnf/conf/config.py b/dnf/conf/config.py
|
||||||
|
index 044bdcadc..741eddd2d 100644
|
||||||
|
--- a/dnf/conf/config.py
|
||||||
|
+++ b/dnf/conf/config.py
|
||||||
|
@@ -286,7 +286,7 @@ def _populate(self, parser, section, filename, priority=PRIO_DEFAULT):
|
||||||
|
for name in parser.getData()[section]:
|
||||||
|
value = parser.getSubstitutedValue(section, name)
|
||||||
|
if not value or value == 'None':
|
||||||
|
- value = None
|
||||||
|
+ value = ''
|
||||||
|
|
||||||
|
try:
|
||||||
|
if not self._config:
|
||||||
|
diff --git a/tests/conf/test_parser.py b/tests/conf/test_parser.py
|
||||||
|
index 52bbdd021..304fc674b 100644
|
||||||
|
--- a/tests/conf/test_parser.py
|
||||||
|
+++ b/tests/conf/test_parser.py
|
||||||
|
@@ -20,14 +20,16 @@
|
||||||
|
from __future__ import absolute_import
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
+import dnf.conf
|
||||||
|
from libdnf.conf import ConfigParser
|
||||||
|
|
||||||
|
import tests.support
|
||||||
|
|
||||||
|
substitute = ConfigParser.substitute
|
||||||
|
|
||||||
|
-class SubstituteTest(tests.support.TestCase):
|
||||||
|
- def test_read(self):
|
||||||
|
+
|
||||||
|
+class ParserTest(tests.support.TestCase):
|
||||||
|
+ def test_substitute(self):
|
||||||
|
substs = {'lies': 'fact'}
|
||||||
|
# Test a single word without braces
|
||||||
|
rawstr = '$Substitute some $lies.'
|
||||||
|
@@ -51,3 +53,11 @@ def test_read(self):
|
||||||
|
rawstr = '$Substitute some $lies}withoutspace.'
|
||||||
|
result = '$Substitute some fact}withoutspace.'
|
||||||
|
self.assertEqual(substitute(rawstr, substs), result)
|
||||||
|
+
|
||||||
|
+ def test_empty_option(self):
|
||||||
|
+ # Parser is able to read config file with option without value
|
||||||
|
+ FN = tests.support.resource_path('etc/empty_option.conf')
|
||||||
|
+ conf = dnf.conf.Conf()
|
||||||
|
+ conf.config_file_path = FN
|
||||||
|
+ conf.read()
|
||||||
|
+ self.assertEqual(conf.installroot, '')
|
||||||
|
diff --git a/tests/etc/empty_option.conf b/tests/etc/empty_option.conf
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..37746172a
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/etc/empty_option.conf
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+[main]
|
||||||
|
+installroot =
|
9
dnf.spec
9
dnf.spec
@ -74,12 +74,16 @@ It supports RPMs, modules and comps groups & environments.
|
|||||||
|
|
||||||
Name: dnf
|
Name: dnf
|
||||||
Version: 3.2.0
|
Version: 3.2.0
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: %{pkg_summary}
|
Summary: %{pkg_summary}
|
||||||
# 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
|
||||||
|
# Fix for https://bugzilla.redhat.com/show_bug.cgi?id=1613577
|
||||||
|
# crash that breaks distro composes
|
||||||
|
# https://github.com/rpm-software-management/dnf/pull/1168
|
||||||
|
Patch0: 1168.patch
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
@ -486,6 +490,9 @@ rm -vf %{buildroot}%{_bindir}/dnf-automatic-*
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Aug 08 2018 Adam Williamson <awilliam@redhat.com> - 3.2.0-2
|
||||||
|
- Fix a crash that breaks Rawhide composes (RhBug:1613577)
|
||||||
|
|
||||||
* Tue Aug 07 2018 Daniel Mach <dmach@redhat.com> - 3.2.0-1
|
* Tue Aug 07 2018 Daniel Mach <dmach@redhat.com> - 3.2.0-1
|
||||||
- [sack] Use module_platform_id option.
|
- [sack] Use module_platform_id option.
|
||||||
- [module] Switch module persistor to libdnf implementation.
|
- [module] Switch module persistor to libdnf implementation.
|
||||||
|
Loading…
Reference in New Issue
Block a user