Upstream fix for str object has no attribute decode (bz1439941)
This commit is contained in:
parent
a82f40d63e
commit
fbcf1f6f79
45
rpmlint-1.9-py3_b2s.patch
Normal file
45
rpmlint-1.9-py3_b2s.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From 4875475c43098e37a4d5d4e2ee2f9dfea643cc78 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
|
||||
Date: Fri, 7 Apr 2017 09:26:35 +0300
|
||||
Subject: [PATCH] Pkg.b2s: Pass through str as-is on Python 3
|
||||
|
||||
Things change, and we may start getting str where we previously got
|
||||
bytes, such as what has apparently now happened with some versions of
|
||||
the return value of magic.descriptor(fd) in Fedora Rawhide.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1439941
|
||||
---
|
||||
Pkg.py | 4 ++--
|
||||
test/test.Pkg.py | 4 ++++
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: rpmlint-rpmlint-1.9/Pkg.py
|
||||
===================================================================
|
||||
--- rpmlint-rpmlint-1.9.orig/Pkg.py
|
||||
+++ rpmlint-rpmlint-1.9/Pkg.py
|
||||
@@ -41,8 +41,8 @@ if sys.version_info[0] > 2:
|
||||
unicode = str
|
||||
|
||||
def b2s(b):
|
||||
- if b is None:
|
||||
- return None
|
||||
+ if b is None or isinstance(b, str):
|
||||
+ return b
|
||||
if isinstance(b, (list, tuple)):
|
||||
return [b2s(x) for x in b]
|
||||
return b.decode(errors='replace')
|
||||
Index: rpmlint-rpmlint-1.9/test/test.Pkg.py
|
||||
===================================================================
|
||||
--- rpmlint-rpmlint-1.9.orig/test/test.Pkg.py
|
||||
+++ rpmlint-rpmlint-1.9/test/test.Pkg.py
|
||||
@@ -30,5 +30,10 @@ class TestPkg(unittest.TestCase):
|
||||
):
|
||||
self.assertFalse(Pkg.rangeCompare(req, prov))
|
||||
|
||||
+ def test_b2s(self):
|
||||
+ for thing in ("foo", ["foo"]):
|
||||
+ self.assertEqual(thing, Pkg.b2s(thing))
|
||||
+
|
||||
+
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
25
rpmlint-1.9-py3_test_b2s.patch
Normal file
25
rpmlint-1.9-py3_test_b2s.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 73d62d4421a06a3282c1a71625b070e3ca58b624 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
|
||||
Date: Fri, 7 Apr 2017 09:55:15 +0300
|
||||
Subject: [PATCH] Pkg.b2s: Add some more test cases
|
||||
|
||||
---
|
||||
test/test.Pkg.py | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: rpmlint-rpmlint-1.9/test/test.Pkg.py
|
||||
===================================================================
|
||||
--- rpmlint-rpmlint-1.9.orig/test/test.Pkg.py
|
||||
+++ rpmlint-rpmlint-1.9/test/test.Pkg.py
|
||||
@@ -31,8 +31,10 @@ class TestPkg(unittest.TestCase):
|
||||
self.assertFalse(Pkg.rangeCompare(req, prov))
|
||||
|
||||
def test_b2s(self):
|
||||
- for thing in ("foo", ["foo"]):
|
||||
+ for thing in ("foo", ["foo"], None, []):
|
||||
self.assertEqual(thing, Pkg.b2s(thing))
|
||||
+ self.assertEqual("foo", Pkg.b2s(b"foo"))
|
||||
+ self.assertEqual(["foo"], Pkg.b2s([b"foo"]))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
13
rpmlint.spec
13
rpmlint.spec
@ -16,7 +16,7 @@
|
||||
|
||||
Name: rpmlint
|
||||
Version: 1.9
|
||||
Release: 8%{?dist}
|
||||
Release: 9%{?dist}
|
||||
Summary: Tool for checking common errors in RPM packages
|
||||
Group: Development/Tools
|
||||
License: GPLv2
|
||||
@ -42,6 +42,12 @@ Patch2: rpmlint-1.9-fix-uep.patch
|
||||
# Python 3.5.3 bytecode magic value update
|
||||
# https://github.com/rpm-software-management/rpmlint/commit/beb32c4cfbff4aa979141941f534d2c6b7a18639 (hand-rediffed)
|
||||
Patch3: rpmlint-1.9-py35magic.patch
|
||||
# rpmlint fails: str object has no attribute decode
|
||||
# https://github.com/rpm-software-management/rpmlint/commit/4875475c43098e37a4d5d4e2ee2f9dfea643cc78 (hand-rediffed)
|
||||
# https://github.com/rpm-software-management/rpmlint/commit/73d62d4421a06a3282c1a71625b070e3ca58b624 (hand-rediffed)
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1439941
|
||||
Patch4: rpmlint-1.9-py3_b2s.patch
|
||||
Patch5: rpmlint-1.9-py3_test_b2s.patch
|
||||
BuildArch: noarch
|
||||
%if %{with python3}
|
||||
BuildRequires: python3-devel
|
||||
@ -96,6 +102,8 @@ and source packages as well as spec files can be checked.
|
||||
%patch1 -p1 -b .py36magic
|
||||
%patch2 -p1 -b .fixuep
|
||||
%patch3 -p1 -b .py35magic
|
||||
%patch4 -p1 -b .py3b2s
|
||||
%patch5 -p1 -b .py35b2s_test
|
||||
sed -i -e /MenuCheck/d Config.py
|
||||
cp -p config config.example
|
||||
install -pm 644 %{SOURCE3} config
|
||||
@ -145,6 +153,9 @@ make check PYTHON=%{python} PYTEST=%{pytest} FLAKE8=%{flake8}
|
||||
%{_mandir}/man1/rpmlint.1*
|
||||
|
||||
%changelog
|
||||
* Fri Apr 07 2017 Björn Esser <besser82@fedoraproject.org> - 1.9-9
|
||||
- Upstream fix for str object has no attribute decode (bz1439941)
|
||||
|
||||
* Thu Mar 9 2017 Charalampos Stratakis <cstratak@redhat.com> - 1.9-8
|
||||
- Update Python 3.5.3 magic bytecode value
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user