Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package diffoscope for openSUSE:Factory checked in at 2021-05-15 01:24:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/diffoscope (Old) and /work/SRC/openSUSE:Factory/.diffoscope.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "diffoscope" Sat May 15 01:24:27 2021 rev:9 rq:893114 version:174 Changes: -------- --- /work/SRC/openSUSE:Factory/diffoscope/diffoscope.changes 2021-05-02 18:39:23.152111810 +0200 +++ /work/SRC/openSUSE:Factory/.diffoscope.new.2988/diffoscope.changes 2021-05-15 01:24:45.062906188 +0200 @@ -1,0 +2,14 @@ +Fri May 7 11:27:26 UTC 2021 - Sebastian Wagner <[email protected]> + +- remove fix-file-5.40.patch, merged upstream +- update to version 174: + * Check that we are parsing an actual Debian .buildinfo file, not just + a file with that extension. + (Closes: deb#987994, reproducible-builds/diffoscope#254) + * Support signed .buildinfo files again -- file(1) reports them as + "PGP signed message". + * Make the testsuite pass with file(1) version 5.40. + * Embed some short test fixtures in the test code itself. + * Fix recognition of compressed .xz files with file(1) 5.40. + +------------------------------------------------------------------- Old: ---- diffoscope-173.tar.bz2 diffoscope-173.tar.bz2.asc fix-file-5.40.patch New: ---- diffoscope-174.tar.bz2 diffoscope-174.tar.bz2.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ diffoscope.spec ++++++ --- /var/tmp/diff_new_pack.uSxEM6/_old 2021-05-15 01:24:45.522904572 +0200 +++ /var/tmp/diff_new_pack.uSxEM6/_new 2021-05-15 01:24:45.526904557 +0200 @@ -17,7 +17,7 @@ Name: diffoscope -Version: 173 +Version: 174 Release: 0 Summary: In-depth comparison of files, archives, and directories License: GPL-3.0-or-later @@ -26,7 +26,6 @@ Source0: https://diffoscope.org/archive/diffoscope-%{version}.tar.bz2 Source1: https://diffoscope.org/archive/diffoscope-%{version}.tar.bz2.asc Source2: diffoscope.keyring -Patch0: https://salsa.debian.org/reproducible-builds/diffoscope/-/commit/7bf04a62623d234a870fd62b0ee745c9b940f5d7.patch#/fix-file-5.40.patch BuildRequires: fdupes BuildRequires: python-rpm-macros BuildRequires: python3-base >= 3.7 @@ -113,7 +112,6 @@ %prep %setup -q sed -i '0,/#!\/usr\/bin\/env/ d' diffoscope/main.py -%patch0 -p1 %build %python3_build @@ -137,9 +135,7 @@ %check # test_identification https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/98 -# test_content_source_without_extension temporarily disabled to get build working -# test_text_proper_indentation test_equal, test_different temporarily for: https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/251 -py.test-%{python3_bin_suffix} -k 'not test_identification and not test_content_source_without_extension and not test_text_proper_indentation and not test_equal and not test_different' +py.test-%{python3_bin_suffix} -k 'not test_identification' %files %doc README.rst ++++++ diffoscope-173.tar.bz2 -> diffoscope-174.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-173/debian/changelog new/diffoscope-174/debian/changelog --- old/diffoscope-173/debian/changelog 2021-04-30 09:51:25.000000000 +0200 +++ new/diffoscope-174/debian/changelog 2021-05-07 11:48:57.000000000 +0200 @@ -1,3 +1,19 @@ +diffoscope (174) unstable; urgency=medium + + [ Chris Lamb ] + * Check that we are parsing an actual Debian .buildinfo file, not just + a file with that extension. + (Closes: #987994, reproducible-builds/diffoscope#254) + * Support signed .buildinfo files again -- file(1) reports them as + "PGP signed message". + + [ Mattia Rizzolo ] + * Make the testsuite pass with file(1) version 5.40. + * Embed some short test fixtures in the test code itself. + * Fix recognition of compressed .xz files with file(1) 5.40. + + -- Chris Lamb <[email protected]> Fri, 07 May 2021 10:48:54 +0100 + diffoscope (173) unstable; urgency=medium [ Chris Lamb ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-173/diffoscope/__init__.py new/diffoscope-174/diffoscope/__init__.py --- old/diffoscope-173/diffoscope/__init__.py 2021-04-30 09:51:25.000000000 +0200 +++ new/diffoscope-174/diffoscope/__init__.py 2021-05-07 11:48:57.000000000 +0200 @@ -17,4 +17,4 @@ # You should have received a copy of the GNU General Public License # along with diffoscope. If not, see <https://www.gnu.org/licenses/>. -VERSION = "173" +VERSION = "174" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-173/diffoscope/comparators/debian.py new/diffoscope-174/diffoscope/comparators/debian.py --- old/diffoscope-173/diffoscope/comparators/debian.py 2021-04-30 09:51:25.000000000 +0200 +++ new/diffoscope-174/diffoscope/comparators/debian.py 2021-05-07 11:48:57.000000000 +0200 @@ -2,7 +2,7 @@ # diffoscope: in-depth comparison of files, archives, and directories # # Copyright ?? 2014-2015 J??r??my Bobbio <[email protected]> -# Copyright ?? 2015-2020 Chris Lamb <[email protected]> +# Copyright ?? 2015-2021 Chris Lamb <[email protected]> # # diffoscope is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -299,7 +299,9 @@ DESCRIPTION = "Debian .buildinfo files" CONTAINER_CLASSES = [DotBuildinfoContainer] FILE_EXTENSION_SUFFIX = {".buildinfo"} - FILE_TYPE_RE = re.compile(r"^(ASCII text|UTF-8 Unicode text)") + FILE_TYPE_RE = re.compile( + r"^(ASCII text|UTF-8 Unicode text|PGP signed message)" + ) @classmethod def recognizes(cls, file): @@ -310,4 +312,10 @@ with open(file.path, "rb") as f: file._deb822 = Dsc(f) + # Check we have a *Debian* .buildinfo file + if not ( + "Format" in file._deb822 and "Checksums-Sha256" in file._deb822 + ): + return False + return True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-173/diffoscope/comparators/xz.py new/diffoscope-174/diffoscope/comparators/xz.py --- old/diffoscope-173/diffoscope/comparators/xz.py 2021-04-30 09:51:25.000000000 +0200 +++ new/diffoscope-174/diffoscope/comparators/xz.py 2021-05-07 11:48:57.000000000 +0200 @@ -56,7 +56,7 @@ class XzFile(File): DESCRIPTION = "XZ compressed files" CONTAINER_CLASSES = [XzContainer] - FILE_TYPE_RE = re.compile(r"^XZ compressed data$") + FILE_TYPE_RE = re.compile(r"^XZ compressed data\b") # Work around file(1) Debian bug #876316 FALLBACK_FILE_EXTENSION_SUFFIX = {".xz"} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-173/tests/comparators/test_binary.py new/diffoscope-174/tests/comparators/test_binary.py --- old/diffoscope-173/tests/comparators/test_binary.py 2021-04-30 09:51:25.000000000 +0200 +++ new/diffoscope-174/tests/comparators/test_binary.py 2021-05-07 11:48:57.000000000 +0200 @@ -33,7 +33,11 @@ from diffoscope.comparators.utils.compare import Xxd from ..utils.data import data, init_fixture, get_data, normalize_zeros -from ..utils.tools import skip_unless_tools_exist, skip_unless_module_exists +from ..utils.tools import ( + skip_unless_tools_exist, + skip_unless_module_exists, + file_version_is_lt, +) TEST_FILE1_PATH = data("binary1") @@ -56,7 +60,10 @@ def test_guess_file_type(): - assert File.guess_file_type(TEST_FILE1_PATH) == "data" + if file_version_is_lt("5.40"): + assert File.guess_file_type(TEST_FILE1_PATH) == "data" + else: + assert File.guess_file_type(TEST_FILE1_PATH) == "OpenPGP Public Key" def test_guess_encoding_binary(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-173/tests/comparators/test_containers.py new/diffoscope-174/tests/comparators/test_containers.py --- old/diffoscope-173/tests/comparators/test_containers.py 2021-04-30 09:51:25.000000000 +0200 +++ new/diffoscope-174/tests/comparators/test_containers.py 2021-05-07 11:48:57.000000000 +0200 @@ -24,6 +24,7 @@ from ..utils.data import load_fixture, get_data from ..utils.tools import ( skip_unless_tools_exist, + file_version_is_ge, skip_unless_file_version_is_at_least, ) @@ -50,9 +51,18 @@ def expected_magic_diff(ext1, ext2): - meta1 = get_data("containers/magic_%s" % ext1) - meta2 = get_data("containers/magic_%s" % ext2) - return "@@ -1 +1 @@\n" + "-" + meta1 + "+" + meta2 + magic = { + "bzip2": "bzip2 compressed data, block size = 900k\n", + "gzip": "gzip compressed data, last modified: Sun Sep 10 22:19:44 2017, from Unix\n", + "xz": "XZ compressed data", + } + if "xz" in (ext1, ext2): + if file_version_is_ge("5.40"): + magic["xz"] += ", checksum CRC64\n" + else: + magic["xz"] += "\n" + + return "@@ -1 +1 @@\n" + "-" + magic[ext1] + "+" + magic[ext2] def expected_type_diff(ext1, ext2): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-173/tests/data/containers/magic_bzip2 new/diffoscope-174/tests/data/containers/magic_bzip2 --- old/diffoscope-173/tests/data/containers/magic_bzip2 2021-04-30 09:51:25.000000000 +0200 +++ new/diffoscope-174/tests/data/containers/magic_bzip2 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -bzip2 compressed data, block size = 900k diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-173/tests/data/containers/magic_gzip new/diffoscope-174/tests/data/containers/magic_gzip --- old/diffoscope-173/tests/data/containers/magic_gzip 2021-04-30 09:51:25.000000000 +0200 +++ new/diffoscope-174/tests/data/containers/magic_gzip 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -gzip compressed data, last modified: Sun Sep 10 22:19:44 2017, from Unix diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-173/tests/data/containers/magic_xz new/diffoscope-174/tests/data/containers/magic_xz --- old/diffoscope-173/tests/data/containers/magic_xz 2021-04-30 09:51:25.000000000 +0200 +++ new/diffoscope-174/tests/data/containers/magic_xz 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -XZ compressed data diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-173/tests/test_quines.py new/diffoscope-174/tests/test_quines.py --- old/diffoscope-173/tests/test_quines.py 2021-04-30 09:51:25.000000000 +0200 +++ new/diffoscope-174/tests/test_quines.py 2021-05-07 11:48:57.000000000 +0200 @@ -23,7 +23,10 @@ from diffoscope.comparators.gzip import GzipFile from .utils.data import load_fixture, get_data -from .utils.tools import skip_unless_file_version_is_at_least +from .utils.tools import ( + skip_unless_file_version_is_at_least, + file_version_is_ge, +) quine1 = load_fixture("quine.gz") quine2 = load_fixture("quine.zip") @@ -54,6 +57,9 @@ @skip_unless_file_version_is_at_least("5.37") def test_difference(differences): expected_diff = get_data("quine_expected_diff") + if file_version_is_ge("5.40"): + expected_diff = expected_diff[:-1] + expected_diff += ", compression method=deflate\n" assert differences[0].unified_diff == expected_diff diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-173/tests/utils/tools.py new/diffoscope-174/tests/utils/tools.py --- old/diffoscope-173/tests/utils/tools.py 2021-04-30 09:51:25.000000000 +0200 +++ new/diffoscope-174/tests/utils/tools.py 2021-05-07 11:48:57.000000000 +0200 @@ -39,6 +39,14 @@ ) +def file_version_is_lt(version): + return file_version() < version + + +def file_version_is_ge(version): + return file_version() >= version + + def tools_missing(*required): return not required or any(find_executable(x) is None for x in required)
