[diffoscope] diffoscope 167 released 💠

Chris Lamb chris at reproducible-builds.org
Fri Feb 19 09:10:39 UTC 2021


The diffoscope maintainers are pleased to announce the release of
version 167 of diffoscope.

diffoscope tries to get to the bottom of what makes files or
directories different. It will recursively unpack archives of many
kinds and transform various binary formats into more human-readable
form to compare them. It can compare two tarballs, ISO images, or PDF
just as easily.

Version 167 includes the following changes:

  * Temporary directory handling:
    - Ensure we cleanup our temporary directory by avoiding confusion between
      the TemporaryDirectory instance and the underlying directory.
      (Closes: #981123)
    - Use a potentially-useful suffix to our temporary directory based on the
      command-line passed to diffoscope.
    - Fix some tempfile/weakref interaction in Python 3.7 (ie. Debian buster).
      (Closes: reproducible-builds/diffoscope#239)
    - If our temporary directory does not exist anymore (eg. it has been
      cleaned up in tests, signal handling or reference counting),  make sure
      we recreate it.

  * Bug fixes:
    - Don't rely on magic.Magic(...) to have an identical API between file's
      magic.py and PyPI's "python-magic" library.
      (Closes: reproducible-builds/diffoscope#238)
    - Don't rely on dumpimage returning an appropriate exit code; check that
      the file actually exists after we call it.

  * Codebase changes:
    - Set a default Config.extended_filesystem_attributes.
    - Drop unused Config.acl and Config.xattr attributes.
    - Tidy imports in diffoscope/comparators/fit.py.

  * Tests:
    - Add u-boot-tools to test dependencies so that salsa.debian.org pipelines
      actually test the new FIT comparator.
    - Strip newlines when determining Black version to avoid "requires black
      >= 20.8b1 (18.9b0\n detected)" in test output (NB. embedded newline).
    - Gnumeric is back in testing so re-add to test dependencies.
    - Use assert_diff (over get_data, etc.) in the FIT and APK comparators.
    - Mark test_apk.py::test_android_manifest as being allowed to fail for now.
    - Fix the FIT tests in buster and unstable.

## Download

Version 167 is available from Debian unstable as well as PyPI, and
will shortly be available on other platforms surely. More details can
be found here:


… but source tarballs may be located here:


The corresponding Docker image may be run via (for example):

  $ docker run --rm -t -w $(pwd) -v $(pwd):$(pwd):ro \
      registry.salsa.debian.org/reproducible-builds/diffoscope a b

## Contribute

diffoscope is developed within the "Reproducible builds" effort.

  - Git repository

  - Docker image, eg.

  - Issues and feature requests

  - Contribution instructions (eg. to file an issue)


    ⬋   ⬊      Chris Lamb
   o     o     reproducible-builds.org 💠
    ⬊   ⬋

More information about the diffoscope mailing list