- Support both python-argcomplete 1.x and 2.x.
- Add external tool on GNU Guix for xb-tool.
- update to version 213:
- Don't mask differences in .zip/.jar central directory extra fields.
- Don't show a binary comparison of .zip/.jar files if we have at least
one observed nested difference.
- Use assert_diff in test_zip over get_data and separate assert.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=70
- Don't mask differences in .zip/.jar central directory extra fields.
- Don't show a binary comparison of .zip/.jar files if we have at least
one observed nested difference.
- Use assert_diff in test_zip over get_data and separate assert.
- update to version 212:
- Add support for extracting vmlinuz/vmlinux Linux kernel images.
(Closes: reproducible-builds/diffoscope#304)
- Some Python .pyc files report as "data", so support ".pyc" as a
fallback extension.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=69
- update to 205:
* Fix a file(1)-related regression where .changes files that contained
non-ASCII text were not identified as being .changes files, resulting in
seemingly arbitrary packages on tests.reproducible-builds.org and elswhere
not comparing the package at all. The non-ASCII parts could have been in
the Maintainer or in the upload changelog, so we were effectively
penalising anyone outside of the Anglosphere.
(Closes: reproducible-builds/diffoscope#291)
* Don't print a warning to the console regarding NT_GNU_BUILD_ID changes in
ELF binaries.
OBS-URL: https://build.opensuse.org/request/show/956421
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffoscope?expand=0&rev=29
* Fix a file(1)-related regression where .changes files that contained
non-ASCII text were not identified as being .changes files, resulting in
seemingly arbitrary packages on tests.reproducible-builds.org and elswhere
not comparing the package at all. The non-ASCII parts could have been in
the Maintainer or in the upload changelog, so we were effectively
penalising anyone outside of the Anglosphere.
(Closes: reproducible-builds/diffoscope#291)
* Don't print a warning to the console regarding NT_GNU_BUILD_ID changes in
ELF binaries.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=58
- - update to version 204:
- Don't run the binwalk comparator tests as root (or fakeroot) as the
latest version of binwalk has some security protection against doing
precisely this.
- If we fail to scan a file using binwalk, return 'False' from
BinwalkFile.recognizes rather than raise a traceback.
- If we fail to import the Python "binwalk" module, don't accidentally report
that we are missing the "rpm" module instead.
- Use dependencies to ensure that "diffoscope" and "diffoscope-minimal"
packages always have the precise same version.
- update to version 203:
- Improve documentation for --timeout due to a few misconceptions.
Add an allowed-to-fail test regarding a regression in directory handling.
- Tidy control flow in Difference._reverse_self a little.
- Fix diffing CBFS names that contain spaces.
OBS-URL: https://build.opensuse.org/request/show/955466
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffoscope?expand=0&rev=28
- Don't run the binwalk comparator tests as root (or fakeroot) as the
latest version of binwalk has some security protection against doing
precisely this.
- If we fail to scan a file using binwalk, return 'False' from
BinwalkFile.recognizes rather than raise a traceback.
- If we fail to import the Python "binwalk" module, don't accidentally report
that we are missing the "rpm" module instead.
- Use dependencies to ensure that "diffoscope" and "diffoscope-minimal"
packages always have the precise same version.
- update to version 203:
- Improve documentation for --timeout due to a few misconceptions.
Add an allowed-to-fail test regarding a regression in directory handling.
- Tidy control flow in Difference._reverse_self a little.
- Fix diffing CBFS names that contain spaces.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=56
- Improve documentation for --timeout due to a few misconceptions.
Add an allowed-to-fail test regarding a regression in directory handling.
- Tidy control flow in Difference._reverse_self a little.
- Fix diffing CBFS names that contain spaces.
- update to version 202:
- Don't fail if comparing a nonexistent file with a .pyc file (and add test).
(Closes: #1004312)
- Drop a reference in the manual page which claims the ability to compare
non-existent files on the command-line. This has not been possible since
version 32 which was released in September 2015. (Closes: #1004182)
- Add experimental support for incremental output support with a timeout.
Passing, for example, --timeout=60 will mean that diffoscope will not
recurse into any sub-archives after 60 seconds total execution time has
elapsed and mark the diff as being incomplete. (Note that this is not a
fixed/strict timeout due to implementation issues.)
(Closes: reproducible-builds/diffoscope#301)
- Don't return with an exit code of 0 if we encounter device file such as
/dev/stdin with human-readable metadata that matches literal, non-device,
file contents. (Closes: #1004198)
- Correct a "recompile" typo.
- Fix/update whitespace for Black 21.12.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=55
- Don't fail if comparing a nonexistent file with a .pyc file (and add test).
(Closes: #1004312)
- Drop a reference in the manual page which claims the ability to compare
non-existent files on the command-line. This has not been possible since
version 32 which was released in September 2015. (Closes: #1004182)
- Add experimental support for incremental output support with a timeout.
Passing, for example, --timeout=60 will mean that diffoscope will not
recurse into any sub-archives after 60 seconds total execution time has
elapsed and mark the diff as being incomplete. (Note that this is not a
fixed/strict timeout due to implementation issues.)
(Closes: reproducible-builds/diffoscope#301)
- Don't return with an exit code of 0 if we encounter device file such as
/dev/stdin with human-readable metadata that matches literal, non-device,
file contents. (Closes: #1004198)
- Correct a "recompile" typo.
- Fix/update whitespace for Black 21.12.
- update to version 201:
- If the debian.deb822 module raises any exception on import, re-raise it as
an ImportError instead. This should fix diffoscope on some Fedora systems.
Thanks to Mattia Rizzolo for suggesting this particular solution.
(Closes: reproducible-builds/diffoscope#300)
- Fix json detection with file-5.41-3.fc36.x86_64.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=54
- If the debian.deb822 module raises any exception on import, re-raise it as
an ImportError instead. This should fix diffoscope on some Fedora systems.
Thanks to Mattia Rizzolo for suggesting this particular solution.
(Closes: reproducible-builds/diffoscope#300)
- Fix json detection with file-5.41-3.fc36.x86_64.
- update to version 200:
- Even if a Sphinx .inv inventory file is labelled "The remainder of this
file is compressed using zlib", it might not actually be. In this case,
don't traceback, and simply return the original content.
(Closes: reproducible-builds/diffoscope#299)
- Update "X has been modified after NT_GNU_BUILD_ID has been applied" message
to, for instance, not duplicating the full filename in the primary
diffoscope's output.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=52
- Even if a Sphinx .inv inventory file is labelled "The remainder of this
file is compressed using zlib", it might not actually be. In this case,
don't traceback, and simply return the original content.
(Closes: reproducible-builds/diffoscope#299)
- Update "X has been modified after NT_GNU_BUILD_ID has been applied" message
to, for instance, not duplicating the full filename in the primary
diffoscope's output.
- update to version 199:
- Support both variants of "odt2txt", including the one provided by unoconv.
(Closes: reproducible-builds/diffoscope#298)
- Add external tool reference on Arch Linux for xb-tool.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=51
- 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
- - 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.
- update to version 195:
- Don't use the runtime platform's native endianness when unpacking .pyc
files to fix test failures on big-endian machines.
- - update to version 195:
- Don't use the runtime platform's native endianness when unpacking .pyc
files to fix test failures on big-endian machines.
OBS-URL: https://build.opensuse.org/request/show/939576
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffoscope?expand=0&rev=24
- 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
- update to version 189:
- 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.
- update to version 188:
- Add support for Python Sphinx inventory files, usually named objects.inv.
- Fix Python bytecode decompilation tests with Python 3.10+.
(Closes: reproducible-builds/diffoscope#278)
OBS-URL: https://build.opensuse.org/request/show/928848
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffoscope?expand=0&rev=21
- 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