Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package diffoscope for openSUSE:Factory checked in at 2026-06-29 17:30:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/diffoscope (Old) and /work/SRC/openSUSE:Factory/.diffoscope.new.11887 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "diffoscope" Mon Jun 29 17:30:36 2026 rev:53 rq:1362255 version:322 Changes: -------- --- /work/SRC/openSUSE:Factory/diffoscope/diffoscope.changes 2026-05-14 21:43:49.220724753 +0200 +++ /work/SRC/openSUSE:Factory/.diffoscope.new.11887/diffoscope.changes 2026-06-29 17:31:32.656456376 +0200 @@ -1,0 +2,12 @@ +Sun Jun 28 20:21:31 UTC 2026 - Dirk Müller <[email protected]> + +- update to 322: + * Add a local version of the (deprecated) os.path.commonprefix + method. + * Fix compatibility with Ocaml 5.4.1. + * Support androguard 4 and previous versions. Thanks, linsui! + * Use --long-form arguments when calling apktool in order to + support apktool version 3. + * Improve header detection for Sphinx documentation projects. + +------------------------------------------------------------------- Old: ---- diffoscope-318.tar.bz2 diffoscope-318.tar.bz2.asc New: ---- diffoscope-322.tar.bz2 diffoscope-322.tar.bz2.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ diffoscope.spec ++++++ --- /var/tmp/diff_new_pack.nhWSbD/_old 2026-06-29 17:31:33.560487240 +0200 +++ /var/tmp/diff_new_pack.nhWSbD/_new 2026-06-29 17:31:33.560487240 +0200 @@ -17,7 +17,7 @@ Name: diffoscope -Version: 318 +Version: 322 Release: 0 Summary: In-depth comparison of files, archives, and directories License: GPL-3.0-or-later ++++++ diffoscope-318.tar.bz2 -> diffoscope-322.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-318/debian/changelog new/diffoscope-322/debian/changelog --- old/diffoscope-318/debian/changelog 2026-05-01 22:10:44.000000000 +0200 +++ new/diffoscope-322/debian/changelog 2026-06-26 17:55:03.000000000 +0200 @@ -1,3 +1,35 @@ +diffoscope (322) unstable; urgency=medium + + [ Zbigniew Jędrzejewski-Szmek ] + * Add a local version of the (deprecated) os.path.commonprefix method. + + -- Chris Lamb <[email protected]> Fri, 26 Jun 2026 08:54:59 -0700 + +diffoscope (321) unstable; urgency=medium + + [ Chris Lamb ] + * Fix compatibility with Ocaml 5.4.1. + + -- Chris Lamb <[email protected]> Fri, 19 Jun 2026 10:54:20 -0700 + +diffoscope (320) unstable; urgency=medium + + [ Chris Lamb ] + * Support androguard 4 and previous versions. Thanks, linsui! + (Closes: #1140016) + * Use --long-form arguments when calling apktool in order to support apktool + version 3. Thanks again to linsui. (Closes: #1140015) + * Update copyright years. + + -- Chris Lamb <[email protected]> Fri, 19 Jun 2026 08:28:49 -0700 + +diffoscope (319) unstable; urgency=medium + + [ Jochen Sprickerhof ] + * Improve header detection for Sphinx documentation projects. + + -- Chris Lamb <[email protected]> Fri, 12 Jun 2026 07:52:47 -0700 + diffoscope (318) unstable; urgency=medium [ Chris Lamb ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-318/diffoscope/__init__.py new/diffoscope-322/diffoscope/__init__.py --- old/diffoscope-318/diffoscope/__init__.py 2026-05-01 22:10:44.000000000 +0200 +++ new/diffoscope-322/diffoscope/__init__.py 2026-06-26 17:55:03.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 = "318" +VERSION = "322" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-318/diffoscope/comparators/apk.py new/diffoscope-322/diffoscope/comparators/apk.py --- old/diffoscope-318/diffoscope/comparators/apk.py 2026-05-01 22:10:44.000000000 +0200 +++ new/diffoscope-322/diffoscope/comparators/apk.py 2026-06-26 17:55:03.000000000 +0200 @@ -2,7 +2,7 @@ # diffoscope: in-depth comparison of files, archives, and directories # # Copyright © 2016 Reiner Herrmann <[email protected]> -# Copyright © 2016-2022, 2025 Chris Lamb <[email protected]> +# Copyright © 2016-2022, 2025-2026 Chris Lamb <[email protected]> # Copyright © 2022 FC Stegerman <[email protected]> # # diffoscope is free software: you can redistribute it and/or modify @@ -72,11 +72,11 @@ subprocess.check_call( ( "apktool", - "d", - "-f", - "-k", - "-m", - "-o", + "decode", + "--force", + "--keep-broken-res", + "--match-original", + "--output", self._tmpdir.name, self.source.path, ), @@ -320,7 +320,10 @@ def get_v2_signing_keys(path): - from androguard.core.bytecodes import apk + try: + from androguard.core import apk # Version >=4 + except ImportError: + from androguard.core.bytecodes import apk # Version < 4 try: instance = apk.APK(path) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-318/diffoscope/comparators/sphinx.py new/diffoscope-322/diffoscope/comparators/sphinx.py --- old/diffoscope-318/diffoscope/comparators/sphinx.py 2026-05-01 22:10:44.000000000 +0200 +++ new/diffoscope-322/diffoscope/comparators/sphinx.py 2026-06-26 17:55:03.000000000 +0200 @@ -44,14 +44,16 @@ def describe_inventory(filename): head = b"" tail = b"" + in_head = True with open(filename, "rb") as f: for line in f: - if line.startswith(b"#"): + if in_head and line.startswith(b"#"): # Save commented lines at top of file head += line else: # ... save the rest for decompression + in_head = False tail += line result = head + b"\n" if head else b"" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-318/diffoscope/diff.py new/diffoscope-322/diffoscope/diff.py --- old/diffoscope-318/diffoscope/diff.py 2026-05-01 22:10:44.000000000 +0200 +++ new/diffoscope-322/diffoscope/diff.py 2026-06-26 17:55:03.000000000 +0200 @@ -414,13 +414,23 @@ return s +def _commonprefix(s, t): + # calculate the common prefix of two strings + s1 = min(s, t) + s2 = max(s, t) + for i, c in enumerate(s1): + if c != s2[i]: + return s1[:i] + return s1 + + def linediff(s, t, diffon, diffoff): # calculate common prefix/suffix, easy optimisation for Wagner-Fischer - prefix = os.path.commonprefix((s, t)) + prefix = _commonprefix(s, t) if prefix: s = s[len(prefix) :] t = t[len(prefix) :] - suffix = os.path.commonprefix((s[::-1], t[::-1]))[::-1] + suffix = _commonprefix(s[::-1], t[::-1])[::-1] if suffix: s = s[: -len(suffix)] t = t[: -len(suffix)] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-318/tests/comparators/test_ocaml.py new/diffoscope-322/tests/comparators/test_ocaml.py --- old/diffoscope-318/tests/comparators/test_ocaml.py 2026-05-01 22:10:44.000000000 +0200 +++ new/diffoscope-322/tests/comparators/test_ocaml.py 2026-06-26 17:55:03.000000000 +0200 @@ -1,7 +1,7 @@ # # diffoscope: in-depth comparison of files, archives, and directories # -# Copyright © 2018-2021 Chris Lamb <[email protected]> +# Copyright © 2018-2021, 2026 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 @@ -72,7 +72,7 @@ assert difference is None -@skip_unless_tool_is_at_least("ocamlobjinfo", ocaml_version, "4.11") +@skip_unless_tool_is_at_least("ocamlobjinfo", ocaml_version, "5.4.1") def test_diff(differences): assert_diff_startswith(differences[0], "ocaml_expected_diff") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diffoscope-318/tests/data/ocaml_expected_diff new/diffoscope-322/tests/data/ocaml_expected_diff --- old/diffoscope-318/tests/data/ocaml_expected_diff 2026-05-01 22:10:44.000000000 +0200 +++ new/diffoscope-322/tests/data/ocaml_expected_diff 2026-06-26 17:55:03.000000000 +0200 @@ -1,4 +1,9 @@ -@@ -1,5 +1,5 @@ +@@ -1,6 +1,6 @@ -Unit name: Test1 +Unit name: Test2 + Flags: [ Alerts _ ] Interfaces imported: +- 351c2dc2fb4a56dac258b47c26262db6 Test1 ++ ac02205dc900024a67ede9f394c59d72 Test2 + 8d797bdbce78b02196f5124ffdf821f4 Stdlib + d36fdcde5aeb0f3274fcde2ca4b10edd CamlinternalFormatBasics
