./sysutils/py-diffoscope, In-depth comparison of files, archives, and directories

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 110nb1, Package name: py37-diffoscope-110nb1, Maintainer: pkgsrc-users

diffoscope will try 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

It can be scripted through error codes, and a report can be produced
with the detected differences. The report can be text or HTML.
When no type of report has been selected, diffoscope defaults
to write a text report on the standard output.

diffoscope will exit with 0 if there's no differences and 1 if there
are. An HTML report can be produced with the detected differences.

diffoscope is developed as part of the "reproducible builds" Debian
It is meant to be able to quickly understand why two builds of the same
package produce different outputs. diffoscope was previously named

Required to run:
[editors/vim] [archivers/gtar-base] [devel/py-curses] [devel/py-setuptools] [devel/colordiff] [sysutils/py-magic] [archivers/py-libarchive-c] [devel/py-tlsh] [lang/python37]

Required to build:

Master sites:

SHA1: 1fa63304933f030327b7ae27bb9469a476fa7661
RMD160: 6c650bd38a449f07f38bf8172cd30319590893e5
Filesize: 9757.337 KB

Version history: (Expand)

CVS history: (Expand)

   2019-04-26 15:14:25 by Maya Rashish | Files touched by this commit (473)
Log message:
Omit mentions of python 34 and 35, after those were removed.

- Includes some whitespace changes, to be handled in a separate commit.
   2019-04-06 19:53:53 by Maya Rashish | Files touched by this commit (1) | Package updated
Log message:
py-diffoscope: needs py-curses, bump PKGREVISION
   2019-02-09 15:13:25 by Pierre Pronchery | Files touched by this commit (5) | Package updated
Log message:
Update sysutils/py-diffoscope to version 110

The list of changes since version 94 are:

diffoscope 110:

  [ Chris Lamb ]
  * Don't look for adjacent -dbgsym package files automatically anymore to
    align better with default user expectations. The existing behaviour can be
    re-enabled by specifying the new `--use-dbgsym` flag. (Closes: #920701)
  * Don't crash with if we were unable to successfully extract a
    "guestfs"-based file. (Closes: #901982)
  * Avoid clumsy profiling title length calculations by moving to Markdown
    syntax, from reStructuredText.
  * Drop printing out dpkg-query output when running tests: it's rather noisy
    and has not helped yet in reproducing an error.
  * Re-enable gnumeric as a Build-Depends.
  * debian/rules: Use str.format over "+" for string concatenation.

  [ Jelle van der Waa ]
  * comparators.wasm: Remove an unused "re" import. (MR: !18)

  [ Mattia Rizzolo ]
  * comparators/elf: Apply flake8.

diffoscope 108:

  [ Chris Lamb ]
  * test_icc: Calculate the path to a test .icc file using data() rather than
    using the pytest fixture itself to avoid a "Fixtures are not meant to be
    called directly" warning/error. (Closes: #916226)
  * Fix a test_mozzip_compressed_files test failure under Alpine Linux.
    (Closes: #916353, MR: !8)
  * Output improvements:
    * Prefer to comment that files are identical rather than having a
      "fuzziness score" of zero.
    * Expand the padding/spacing for "N calls" in the profiling \ 
output; having
      99,999+ calls to cmp(1) is not uncommon for ISOs.
    * Add a note to the "Files similar despite different names" comment to
      clarify that a lower score is more similar.
  * Use File.file_header to tidy JSON matching in the json, ppu and wasm
  * Drop debbindiff Breaks/Replaces; was removed in 2015, never part of a
    stable release, etc.
  * Correct a "positives" typo.

  [ Joachim Breitner ]
  * Add support for comparing WebAssembly modules. (MR: !17)

  [ Holger Levsen ]
  * Bump Standards-Version to 4.3.0
  * Clarify that (upstream) issues should be reported via the
    issue tracker on salsa.debian.org.

  [ Mattia Rizzolo ]
  * Try matching for MozillaZipFile before ZipFile.

diffoscope 107:

  * Compare .zip file comments with zipnote. (Closes: #901757)
  * Don't emit a large number of warnings if getfacl(1) is not available. This
    makes the behaviour consistent with if lsattr(1) is unavailable.
    (Closes: #902369)

diffoscope 106:

  [ Chris Lamb ]
  * comparators:
    + elf: Don't assume all files called ".a" are ELF binaries.  \ 
Closes: #903446
    + pdf:
      - Display the reason when cannot extract metadata from PDF files.
      - Prevent tracebacks when obtaining PDF metadata from files with multiple
        PDF dictionary definition entries.  Closes: #913315

  [ Marius Gedminas ]
  * Add a python_requires to setup.py.

  [ Mattia Rizzolo ]
  * debian:
    + Disable depends on gnumeric and procyon as they are RC buggy.
    + Override the new lintian's public-upstream-key-in-native-package.

diffoscope 105:

  [ Chris Lamb ]
  * tests:
    + Prevent test failures when running under stretch-backports by checking
      the ocaml version number.  Closes: #911846

  [ Mattia Rizzolo ]
  * debian: Reinstate apktool Build-Depends and Test-Depends.
  * Fix some flake8 and deprecation warnings.

  [ Daniel Shahaf ]
  * comparators/pcap:
    + Fix recognition with the upcoming file(1) 5.35.  Closes: #912756
      Thanks to Christoph Biedl for the heads-up in advance.

  [ Will Thompson ]
  * Add a new command line flag --list-missing-tools.  MR: !14

diffoscope 104:

  [ Chris Lamb ]
  * comparators:
    + macho: Prevent a traceback if the filename cannot be found on the line.
      Closes: #910540
    + ocaml New comparator OCaml files using ocamlobjinfo.  Closes: #910542
    + pdf: Add support for comparing metadata using PyPDF2.  Closes: #911446
  * debian/tests/control.in: Add note on how to regenerate this file.

  [ Mattia Rizzolo ]
  * d/control:
    + Build-Depend on linux-image-amd64 [amd64] to allow squashfs tests to run.
    + Add a Build-Conflicts against graphicsmagick-imagemagick-compat.
      See: #910652
  * Move the list of optional python packages from d/rules into setup.py, and
    have dh_python3 check the generated requires.txt.
  * Also add the optional python modules to the autopkgtest dependencies.
  * Temporarily drop Build-Depends and Test-Depends on apktool and
    oggvideotools, as they are not available in buster at the moment.
  * comparators:
    + java:
      - Rename the tool procyon-decompiler to procyon.
      - Properly fall back from procyon to javap also when procyon exists
        but doesn't return any output.
  * Declare in setup.py that diffoscope is good to go with Python 3.7.

  [ Marek Marczykowski-Górecki ]
  * comparators:
    + fsimage: Handle FAT filesystems.  MR: !13

diffoscope 103:

  [ Mattia Rizzolo ]
  * In Debian, list liblz4-tool as an alternative to the lz4 package.
    stretch only has the former.

  [ Chris Lamb ]
  * Strip trailing whitespace from ssconvert(1) output to support
    gnumeric 1.12.43.

diffoscope 102:

  [ Chris Lamb ]
  * Fix tests under colord >= 1.4.3.  Closes: #908900

  [ Xavier Briand ]
  * Add an "Add a comparator" section in CONTRIBUTING.  MR: !9

  [ Mattia Rizzolo ]
  * debian: Use the new debhelper-compat(=11) build dep and drop d/compat.

  [ Marek Marczykowski-Górecki ]
  * comparators/json: Try fuzzy matching for non-text files too.
    This avoids loading very large file just to discover they aren't JSON.
    Closes: #909122

diffoscope 101:

  * Fix testsuite under LLVM >= 7.0. (Closes: #908074)
  * Substvar generation:
    - Ensure Debian substvar generation is deterministic regardless of
      installed packages. (Closes: #908072)
    - Clarify distinction between tools (eg. gpg) and packages (eg. gnupg) when
      generating Debian substvars.
    - Revert updating generated debian/tests/control made in diffoscope 100.
  * Disable binwalk's own user configuration for predictable results and to
    ensure it does not create unnecessary directories. (Closes: #903444)
  * Ensure we return "bytes" objects from Command.filter to avoid a
    "TypeError: Unicode-objects must be encoded before hashing" traceback.
  * Don't print GPG output in diffoscope.changes.

diffoscope 100:

  [ Alexis Murzeau ]
  * Correct matching of .deb archive members. (Closes: #903565)

  [ Chris Lamb ]
  * Support .deb archives that contain an uncompressed control.tar and data.tar
    Thanks to Roderich Schupp <roderich.schupp@gmail.com>.
    (Closes: #903391, #903401)
  * Wrap jsondiff calls with try-except to prevent fatal errors.
    (Closes: #903447, #903449)
  * Don't include the filename in llvm-bcanalyzer results. (Closes: #905598)
  * Update generated debian/tests/control.
  * Bump Standards-Version to 4.2.1.

  [ Daniel Kahn Gillmor ]
  * Avoid line eraser error on dumb terminals. (Closes: #906967)
  * Correct spelling of ereser to eraser.

  [ Mattia Rizzolo ]
  * On Debian, do not require apktool on ppc64el and s390x, ogvideotools on
    s390x and fp-utils on ppc64el and s390x as they are not installable there.
  * Explicitly add `file` to the dependencies of autopkgtest to have the tests
    triggered whenever `file` changes

  [ Ricardo Gaviria ]
  * Handle errors with encrypted archive files. (Closes: #904685)

diffoscope 99:

  [ Xavier Briand ]
  * Add lz4 comparator.  Closes: #901548; !4

  [ Paul Wise ]
  * Clear the progress bar after completion.  Closes: #901758
    Handle terminals that do not support erasing the line by filling the
    terminal with spaces.  Ignore output devices that are not terminals.
  * Do not delete the current terminal line for every progress bar update.
    The erasure was also causing the progress bar to flicker.

  [ Mattia Rizzolo ]
  * Add a gitlab CI script.  !8
  * tempfiles:
    + Set the base directory only if the caller didn't specify one already.
    + Do not append '_diffoscope' to the temporary file names, as they are now
      all in their namespaced directory already.
    + Empty the list of known tempfiles after removing them.  Closes: #902709
  * external_tools:
    + Fix package name, s/xmlutils/xmlbeans/.
  * tests/test_tools: fix test if /sbin contains a directory.  MR: !2
    Thanks to Chris Lamb <lamby@debian.org> for the patch.
  * logging:
    + Move the computation of the terminal line eraser into logging.py
    + Always clean the line before printing a log message
  * main:
    + Clean the terminal line before printing a traceback.
    + Be sure to print 'Keyboard Interrupt' if that happens.
  * comparators:
    + Do not shadow the original import errors.  MR: !7
  * d/control:
    + Bump Standards-Version to 4.1.5, no changes needed.
    + Add Build-Dependency on procyon-decompiler, to run the tests.
  * d/tests:
    + Autogenerate d/tests/control with all the recommends listed as
      dependencies, so autopkgtest is appropriately triggered whenever one of
      those packages changes.  Closes: #902920

  [ anthraxx ]
  * comparators.utils:libarchive:
    + Add compatibility code for python-libarchive >= 2.8.  MR: !6

diffoscope 98:

  * Fix compatibility with Python 3.7. (Closes: #902650)

diffoscope 97:

  * Create all temporary directories within a top-level dir. (Closes: #902627)
  * tests/conftest.py: Fix compatibility with pytest 3.6.2-1, currently in
    Debian experimental.

diffoscope 96:

  [ Chris Lamb ]
  * Drop dependency on pdftk as it relies on GCJ, relying on the pdftotext
    fallback. (Closes: #893702)
  * Change the "No file format specific differences found inside, yet data
    differs" message to be clearer that diffoscope "knows" about \ 
this file
    format yet could not be helpful in this case.
  * Don't append a rather useless "(data)" suffix from file(1).
  * Comply with a number of PEP8 recommendations:
    - E226 - Add missing whitespaces around operators.
    - E241 - Fix extraneous whitespaces around keywords.
    - E251 - Remove whitespace around parameter '=' signs.
    - E302 - Add missing 2 blank lines.
    - E501 - Try to make lines fit to length.
    - E502 - Remove extraneous escape of newline.
    - E731 - Don't assign lambda expressions.
    - E121, E122, E126, E128 - Fix badly indented lines.

  [ Xavier Briand ]
  * Add merge request details to contributing documentation.

diffoscope 95:

  [ Mattia Rizzolo ]
  * tests:
    + test_binary: Don't capture unused output from subprocess.
    + test_git: Fix test failure on FreeBSD.  Closes: #872826
      Thanks to Ximin Luo <infinity0@debian.org> for the initial patch
  * Fix handling of filesnames with non-unicode chars.  Closes: #898022
  * diff: Use bytes as much as possible, to prevent possible encoding issues.
  * d/control: Make the dependency on python3-distutils an alternative on the
    previous versions of libpython3.*-stdlib that used to ship it.
    Closes: #898683
  * d/watch: Update URL to the new archive.

  [ Chris Lamb ]
  * The Git repository has been migrated to salsa, update all the references.
  * Drop extra whitespace in supported file format output.
   2018-12-27 16:03:53 by Joerg Sonnenberger | Files touched by this commit (3)
Log message:
Remove trailing comma from generator expressions for Python 3.7 compat.
   2018-05-16 08:54:52 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-diffoscope: updated to 94

Bug fixes.
   2017-12-01 10:02:07 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-diffoscope: updated to 88:

bug fixes.
   2017-10-17 10:35:34 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-diffoscope: needs python-3.5 or newer
   2017-10-16 11:53:42 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-diffoscope: update to 87

Bug fixes.