- Support showing "Ordering differences only" within .dsc field values.
(Closes: #1002002, reproducible-builds/diffoscope#297)
- Support OCaml versions 4.11, 4.12 and 4.13. (Closes: #1002678)
- Add support for XMLb files. (Closes: reproducible-builds/diffoscope#295)
- Also add, for example, /usr/lib/x86_64-linux-gnu to our internal PATH.
- Also recognize "GnuCash file" files as XML.
- update to version 197:
- Drop unnecessary has_same_content_as logging calls.
- Ignore the new "binary-with-bad-dynamic-table" Lintian tag.
- Support pgpdump 0.34 in the tests. Thanks to Michael Weiss
<dev.primeos@gmail.com> for reporting and testing the fix.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=49
- Drop unnecessary has_same_content_as logging calls.
- Ignore the new "binary-with-bad-dynamic-table" Lintian tag.
- Support pgpdump 0.34 in the tests. Thanks to Michael Weiss
<dev.primeos@gmail.com> for reporting and testing the fix.
- update to version 196:
- Add a comment/annotation when the GNU_BUILD_ID field has been modified.
- Fix the "Black" version detection.
- Replace "token" with anonymous variable "x" in order to remove extra lines.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=48
- Don't traceback when comparing nested directories with non-directories.
(Closes: reproducible-builds/diffoscope#288)
- update to version 193:
- Don't duplicate file lists at each directory level.
(Closes: #989192, reproducible-builds/diffoscope#263)
- When pretty-printing JSON, mark the difference as such, additionally
avoiding including the full path.
(Closes: reproducible-builds/diffoscope#205)
- Codebase improvements:
- Update a bunch of %-style string interpolations into f-strings or
str.format.
- Import itertools top-level directly.
- Drop some unused imports.
- Use isinstance(...) over type(...) ==
- Avoid aliasing variables if we aren't going to use them.
- Fix missing diff output on large diffs.
- Ignore a Python warning coming from a dependent library (triggered by
supporting Python 3.10)
- Document that support both Python 3.9 and 3.10.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=42
- Don't duplicate file lists at each directory level.
(Closes: #989192, reproducible-builds/diffoscope#263)
- When pretty-printing JSON, mark the difference as such, additionally
avoiding including the full path.
(Closes: reproducible-builds/diffoscope#205)
- Codebase improvements:
- Update a bunch of %-style string interpolations into f-strings or
str.format.
- Import itertools top-level directly.
- Drop some unused imports.
- Use isinstance(...) over type(...) ==
- Avoid aliasing variables if we aren't going to use them.
- Fix missing diff output on large diffs.
- Ignore a Python warning coming from a dependent library (triggered by
supporting Python 3.10)
- Document that support both Python 3.9 and 3.10.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=41
- Update .epub test methodology after improving XML file parsing.
- update to version 191:
- Detect XML files as XML files if either file(1) claims if they are XML
files, or if they are named .xml.
(Closes: #999438, reproducible-builds/diffoscope#287)
- Don't reject Debian .changes files if they contain non-printable
characters. (Closes: reproducible-builds/diffoscope#286)
- Continue loading a .changes file even if the referenced files inside it do
not exist, but include a comment in the diff as a result.
- Log the reason if we cannot load a Debian .changes file.
- Fix inverted logic in the assert_diff_startswith() utility.
- update to version 190:
- Don't raise a traceback if we cannot de-marshal Python bytecode to support
Python 3.7 loading newer .pyc files.
(Closes: reproducible-builds/diffoscope#284)
- Fix Python tests under Python 3.7 with file 5.39+.
- Skip Python bytecode testing when "file" is older than 5.39.
- Detect whether the GNU_BUILD_ID field has been modified.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=40
- Try some alternative suffixes (eg. ".py") to support distributions that
strip or retain them. (Closes: reproducible-builds/diffoscope#283)
- Skip Python bytecode testing where we do not have an expected diff.
(Closes: reproducible-builds/diffoscope#284)
- Refactor the find_executable utility into an explicit method.
- Split out a custom call to assert_diff to support a .startswith equivalent.
- Use skipif instead of manual conditionals in some tests.
- Add an external tool reference for Guix to support ppudump and dumppdf.
- Update uImage test output for file(1) version 5.41.
- Add Arch Linux as CI test target.
- Add external tools on Arch Linux for ffmpeg, openssl and ocalobjinfo.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=39
- Don't call close_archive when garbage-collecting Archive instances unless
open_archive returned successfully. This prevents, amongst others, an
AttributeError traceback due to PGPContainer's cleanup routines assuming
that its temporary directory had been created.
(Closes: reproducible-builds/diffoscope#276)
- Ensure that the string "RPM archives" exists in the package description,
regardless of whether python3-rpm is installed or not at build time.
- Fix the LVM Macho comparator for non-x86-64 architectures.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=34
- Fix the semantic comparison of R's .rdb files after a refactoring of
temporary directory handling in a previous version.
- Support a newer format version of R's .rds files.
- Update tests for OCaml 4.12. (Closes: reproducible-builds/diffoscope#274)
- Move diffoscope.versions to diffoscope.tests.utils.versions.
- Use assert_diff in tests/comparators/test_rdata.py.
- Reformat various modules with Black.
- Stop using the deprecated distutils module by adding a version
comparison class based on the RPM version rules.
- Update invocations of llvm-objdump for the latest version of LLVM.
- Adjust a test with one-byte text file for file(1) version 5.40.
- Improve the parsing of the version of OpenSSH.
- Add a --diff-context option to control the unified diff context size.
(reproducible-builds/diffoscope!88)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=32
- Also ignore, for example, spurious "fwGCC: (Debian ... )" lines in output
from strings(1).
- Only use "java -jar /path/to/apksigner.jar" if we have a .jar as newer
versions of apksigner use a shell wrapper script which will obviously be
rejected by the JVM. Also mention in the diff if apksigner is missing.
- Pass "-f" to apktool to avoid creating a strangely-named subdirectory and
to simplify code.
- If we specify a suffix for temporary file or directory, ensure it starts
with a "_" to make the generated filenames more human-readable.
- Drop an unused File import.
- Update the minimum version of the Black source code formatter.
- Support parsing the return value of squashfs versions which discriminate
between fatal and non-fatal errors.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=30
- New features and bug fixes:
- Don't require apksigner in order to compare .apk files using apktool.
- Add a special-case to squshfs image extraction to not fail if we aren't
root/superuser. (Closes: #991059)
- Reduce the maximum line length to avoid O(n^2) Wagner-Fischer algorithm,
which meant that diff generation took an inordinate amount of time.
(Closes: reproducible-builds/diffoscope#272)
- Include profiling information in --debug output if --profile is not set.
- Don't print an orphan newline when the Black source code formatter
self-test passes.
- Tests:
- Update test to check specific contents of squashfs listing, otherwise it
fails depending on the test systems uid-to-username mapping in passwd(5).
- Assign "seen" and "expected" values to local variables to improve
contextual information in/around failed tests.
- Misc changes:
- Print the size of generated HTML, text (etc.) reports.
- Profile calls to specialize and diffoscope.diff.linediff.
- Update various copyright years.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=29
- Don't include specific ".debug"-like lines in the output, as it invariably
a duplicate of the debug ID that exists in a better form in the readelf(1)
differences for this file.
- Also ignore include short "GCC" lines that differs on a single prefix byte
too. These are distracting, not very useful and are simply the strings(1)
command's idea of the build ID, which, again, is displayed nearby in the
file's diff.
- Update the invocation arguments and tests for the latest version of
odt2txt.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=28
- Don't traceback on an broken symlink in a directory.
(Closes: reproducible-builds/diffoscope#269)
- Rewrite the calculation of a file's "fuzzy hash" to make the control
flow cleaner.
- Support .deb package members compressed with the Zstandard algorithm.
(LP: #1923845)
- Overhaul the Mach-O executable file comparator.
- Implement tests for the Mach-O comparator.
- Switch to new argument format for the LLVM compiler.
- Fix test_libmix_differences in testsuite for the ELF format.
- Improve macOS compatibility for the Mach-O comparator.
- Add llvm-readobj and llvm-objdump to the internal EXTERNAL_TOOLS data
structure.
- Invoke gzip(1) with the short option variants to support Busybox's gzip.
- Update to version 177:
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=26
* Use the actual filesystem path name (instead of diffoscope's concept of the
source name) to correct APK filename filtering when an APK file is in
another container -- we need to filter the auto-generated "1.apk" instead
of "original-filename.apk". (Closes: reproducible-builds/diffoscope#255)
* Don't call os.path.basename twice.
* Correct grammar in a fsimage.py debug message.
* Add a comment about stripping filenames.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=18
- 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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=17
- remove fix-tests-libmix_differences.patch, merged upstream
- added fix-file-5.40.patch
- update to version 173
* Add support for showing annotations in PDF files.
(Closes: reproducible-builds/diffoscope#249)
* Move to assert_diff in test_pdf.py.
* Difference.__init__: Demote unified_diff argument to a Python "kwarg".
- update to version 172
* If zipinfo(1) shows a difference but we cannot uncover a difference within
the underlying .zip or .apk file, add a comment and show the binary
comparison. (Closes: reproducible-builds/diffoscope#246)
* Make "error extracting X, falling back to binary comparison E" error
message nicer.
- update to version 171
* Do not list as a "skipping reason" tools that do exist.
* Drop the "compose" tool from the list of required tools for these tests,
since it doesn't seem to be required.
- update to version 170
* Avoid frequent long lines in RPM header outputs that cause very very slow
HTML outputs. (Closes: reproducible-builds/diffoscope#245)
* Fix test_libmix_differences on openSUSE Tumbleweed.
(Closes: reproducible-builds/diffoscope#244)
* Move test_rpm to use the assert_diff utility helper.
* Add a diffoscope.tools.get_tools() method to support programmatically
fetching Diffoscope's config.
* Become tolerant of malformed Debian .changes files.
- update to version 169
* Optimisations:
- Use larger buffer/block sizes when extracting files from libarchive-
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=14