[Reproducible-commits] [debbindiff] 02/03: Change how we handle a missing RPM module
Jérémy Bobbio
lunar at moszumanska.debian.org
Wed Jun 24 18:26:17 UTC 2015
This is an automated email from the git hooks/post-receive script.
lunar pushed a commit to branch master
in repository debbindiff.
commit 7529ce98df74396f803b308b923d40d2cf3d5738
Author: Jérémy Bobbio <lunar at debian.org>
Date: Wed Jun 24 18:07:16 2015 +0000
Change how we handle a missing RPM module
Make it more robust and also explain the fallback in a comment.
---
debbindiff/comparators/__init__.py | 13 ++++++++++++-
debbindiff/comparators/rpm.py | 7 +------
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/debbindiff/comparators/__init__.py b/debbindiff/comparators/__init__.py
index bba46d5..25cc864 100644
--- a/debbindiff/comparators/__init__.py
+++ b/debbindiff/comparators/__init__.py
@@ -42,7 +42,18 @@ from debbindiff.comparators.ipk import compare_ipk_files
from debbindiff.comparators.iso9660 import compare_iso9660_files
from debbindiff.comparators.pdf import compare_pdf_files
from debbindiff.comparators.png import compare_png_files
-from debbindiff.comparators.rpm import compare_rpm_files
+try:
+ from debbindiff.comparators.rpm import compare_rpm_files
+except ImportError as ex:
+ if ex.message != 'No module named rpm':
+ raise
+ def compare_rpm_files(path1, path2, source=None):
+ logger.info("Python rpm module not found.")
+ differences = compare_binary_files(path1, path2, source)
+ if differences:
+ differences[0].comment = (differences[0].comment or '') + \
+ '\nUnable to find Python rpm module. Falling back to binary comparison.'
+ return differences
from debbindiff.comparators.squashfs import compare_squashfs_files
from debbindiff.comparators.text import compare_text_files
from debbindiff.comparators.tar import compare_tar_files
diff --git a/debbindiff/comparators/rpm.py b/debbindiff/comparators/rpm.py
index 7018b27..b9e9c13 100644
--- a/debbindiff/comparators/rpm.py
+++ b/debbindiff/comparators/rpm.py
@@ -21,6 +21,7 @@ from __future__ import absolute_import
import os.path
import subprocess
from contextlib import contextmanager
+import rpm
import debbindiff.comparators
from debbindiff import logger, tool_required
from debbindiff.comparators.utils import binary_fallback, make_temp_directory
@@ -65,12 +66,6 @@ def extract_rpm_payload(path):
@binary_fallback
def compare_rpm_files(path1, path2, source=None):
- try:
- import rpm
- except ImportError:
- logger.info("Python module rpm not found.")
- return []
-
differences = []
# compare headers
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/debbindiff.git
More information about the Reproducible-commits
mailing list