diff --git a/0001-deps-Handle-malformed-output-from-rpm-bz-1049042.patch b/0001-deps-Handle-malformed-output-from-rpm-bz-1049042.patch new file mode 100644 index 0000000..b5ae9fb --- /dev/null +++ b/0001-deps-Handle-malformed-output-from-rpm-bz-1049042.patch @@ -0,0 +1,29 @@ +From b4467ce8151d2157fda8f10e488d0c22f009b1fd Mon Sep 17 00:00:00 2001 +From: Alec Leamas +Date: Tue, 7 Jan 2014 00:56:08 +0100 +Subject: [PATCH 1/3] deps: Handle malformed output from rpm (bz #1049042) + +--- + src/FedoraReview/deps.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/FedoraReview/deps.py b/src/FedoraReview/deps.py +index 547de5e..5bdc462 100644 +--- a/src/FedoraReview/deps.py ++++ b/src/FedoraReview/deps.py +@@ -99,7 +99,11 @@ def list_dirs(pkg_filename): + line = rpm.stdout.next().strip() + except StopIteration: + return dirs +- path, mode = line.rsplit(None, 10)[0:5:4] ++ try: ++ path, mode = line.rsplit(None, 10)[0:5:4] ++ except ValueError: ++ # E. g., when given '(contains no files)' ++ continue + mode = int(mode, 8) + if mode & 040000: + dirs.append(path) +-- +1.8.4.2 + diff --git a/0002-deps-Handle-malformed-output-from-rpm-part-2-bz-1049.patch b/0002-deps-Handle-malformed-output-from-rpm-part-2-bz-1049.patch new file mode 100644 index 0000000..7cc3d46 --- /dev/null +++ b/0002-deps-Handle-malformed-output-from-rpm-part-2-bz-1049.patch @@ -0,0 +1,31 @@ +From c20812a1fda1f71a70b2be0d643988723a48fdb9 Mon Sep 17 00:00:00 2001 +From: Alec Leamas +Date: Thu, 9 Jan 2014 20:19:52 +0100 +Subject: [PATCH 2/3] deps: Handle malformed output from rpm, part 2 (bz + #1049042 + +Kudos: Orion Poplawski +--- + src/FedoraReview/deps.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/FedoraReview/deps.py b/src/FedoraReview/deps.py +index 5bdc462..4dce8ba 100644 +--- a/src/FedoraReview/deps.py ++++ b/src/FedoraReview/deps.py +@@ -184,7 +184,11 @@ def listpaths(pkg_filename): + line = rpm.stdout.next().strip() + except StopIteration: + return dirs, files +- path, mode = line.rsplit(None, 10)[0:5:4] ++ try: ++ path, mode = line.rsplit(None, 10)[0:5:4] ++ except ValueError: ++ # E. g., when given '(contains no files)' ++ continue + mode = int(mode, 8) + if mode & 040000: + dirs.append(path) +-- +1.8.4.2 + diff --git a/0003-checks-Ensure-base-plugin-is-initiated-before-add-on.patch b/0003-checks-Ensure-base-plugin-is-initiated-before-add-on.patch new file mode 100644 index 0000000..3a7ca48 --- /dev/null +++ b/0003-checks-Ensure-base-plugin-is-initiated-before-add-on.patch @@ -0,0 +1,29 @@ +From 5b472057ab8aab0b386abde07a28cfdf514cf753 Mon Sep 17 00:00:00 2001 +From: Alec Leamas +Date: Fri, 27 Dec 2013 18:06:43 +0100 +Subject: [PATCH 3/3] checks: Ensure base plugin is initiated before add-ons + (bz 1044580). + +Also: skip plugins.plugins which just is a symlinked dir. +--- + src/FedoraReview/checks.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/FedoraReview/checks.py b/src/FedoraReview/checks.py +index de877fb..50faf02 100644 +--- a/src/FedoraReview/checks.py ++++ b/src/FedoraReview/checks.py +@@ -199,7 +199,9 @@ class _ChecksLoader(object): + sys.path.insert(0, appdir) + sys.path.insert(0, XdgDirs.app_datadir) + plugins = load('plugins') +- for plugin in plugins: ++ for plugin in sorted(plugins, key=lambda p: len(p.__name__)): ++ if plugin.__name__ == 'plugins.plugins': ++ continue + registry = plugin.Registry(self) + tests = registry.register(plugin) + self.checkdict.extend(tests) +-- +1.8.4.2 + diff --git a/fedora-review.spec b/fedora-review.spec index bb114e1..a557044 100644 --- a/fedora-review.spec +++ b/fedora-review.spec @@ -11,13 +11,17 @@ Name: fedora-review Version: 0.5.1 -Release: 1%{?git_tag}%{?dist} +Release: 2%{?git_tag}%{?dist} Summary: Review tool for fedora rpm packages License: GPLv2+ URL: https://fedorahosted.org/FedoraReview/ Source0: https://fedorahosted.org/released/FedoraReview/%{name}-%{version}%{?git_tag}.tar.gz +Patch1: 0001-deps-Handle-malformed-output-from-rpm-bz-1049042.patch +Patch2: 0002-deps-Handle-malformed-output-from-rpm-part-2-bz-1049.patch +Patch3: 0003-checks-Ensure-base-plugin-is-initiated-before-add-on.patch + BuildArch: noarch BuildRequires: python-argparse @@ -75,6 +79,10 @@ Tests are packaged separately due to space concerns. %prep %setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 + %build %{__python} setup.py --quiet build @@ -121,6 +129,11 @@ python -m unittest discover -f %changelog +* Mon Jan 13 2014 Stanislav Ochotnicky - 0.5.1-2 +- Backport fixes for several bugs +- Resolves: rhbz#1044580 +- Resolves: rhbz#1049042 + * Fri Dec 13 2013 Stanislav Ochotnicky - 0.5.1-1 - Update to latest upstream (0.5.1)