Change logs for diffoscope source package in Artful

  • diffoscope (87) unstable; urgency=medium
    
      [ Juliana Oliveira Rodrigues ]
      * comparators:
        + utils:
          - compare: fix comparison between container types.
          - container: add get_path_name() method, aiming at preventing hitting
            OS' max filename length.
        + gzip: replace dest_path generation with self.get_path_name().
        + bzip2: replace dest_path generation with self.get_path_name().
      * tests:
        + presenters:
          - skip html_visuals test if 'sng' binary is not available.
        + comparators:
          - test_cointainers: new tests to test cross-container comparisons.
          - add test_containers.py.
    
      [ Chris Lamb ]
      * comparators:
        + utils:
          - file: correct reference to path_apparent_size.
        + fonts: loosen matching of file(1)'s output to ensure we correctly also
          match TTF files under file 5.32.
        + binwalk:
          - new comparator to deal with (e.g.) concatenated CPIO archives using
            the new optional python module 'binwalk'.  Closes: #820631
      * diffoscope.diff: Correct reference to self.buf.
      * debian/rules: run flake8 during the tests, and fail the build in case the
        "underfined name" flake8's check fails.
      * tests/comparators:
        + test_cpio: check we identify all CPIO fixtures.
      * main:
        + print a debugging message if we are reading diff from stdin.
      * presenters:
        + html: use logging.py's lazy argument interpolation.
      * debian/control: bump Standards-Version to 4.1.0.
      * Code style improvements across all of the codebase.
    
      [ Mattia Rizzolo ]
      * debian/changelog: retroactively close a bug in an old changelog entry.
      * setup.py: add a check to prevent people from installing diffoscope under
        python < 3.5 (i.e. python2) and give them a usable error message otherwise.
      * Code style improvements across all of the codebase.
    
      [ Ximin Luo ]
      * comparators:
        +  add a fallback_recognizes() method to work around file(1)'s bug #876316.
           Closes: #875282
        + add a --force-details flag for debugging.
        + deb:
          - if --force-details then don't skip files with identical md5sums either.
      * presenters:
        + html:
          - prune all descendants properly.  Closes: #875281
          - don't show pointer-cursor when jquery is disabled.
      * config:
        + force-set a value if it must be less than another, and it was not set on
          purpose.  Closes: #875451
      * readers: convert bytes to str in the right place.
      * diff: use diff_split_lines everywhere.
      * difference:
        + in fmap/map_lines, don't forget about self._visuals.
        + also copy self._comment properly, compare self._visuals in equals().
      * tests/comparators:
        + test_deb: make test_md5sums less brittle.
    
     -- Mattia Rizzolo <email address hidden>  Fri, 22 Sep 2017 18:53:05 +0200
  • diffoscope (86ubuntu1) artful; urgency=medium
    
      * Merge from debian
      * diffoscope/comparators/fonts.py: Cherry pick debian commit to
        address diffoscope adt failure introduced by 1:5.32-1.
        - origin: diffoscope git commit
          af9fe0446de3595a1eaa8a9c9b401462a68842d0
        - package can be brought back into sync when debian releases v87.
      * debian/rules: adjust check to compensate for ubuntu package version
    
     -- Steve Beattie <email address hidden>  Tue, 12 Sep 2017 23:52:42 -0700
  • diffoscope (86) unstable; urgency=medium
    
      [ Mattia Rizzolo ]
      * tests:
        + binary: skip a test if the 'distro' module is not available.
        + iso9660: avoid an overly-catching exception.
      * debian/copyright: coalesce some file paragraphs and update information.
    
      [ Guangyuan Yang ]
      * tests:
        + iso9660: support both cdrtools' genisoimage's versions of isoinfo.
    
      [ Chris Lamb ]
      * comparators:
        + xml: Use ``name`` attribute over ``path`` to avoid leaking comparison
          full path in output.
      * Tidy diffoscope.progress a little.
    
      [ Ximin Luo ]
      * Add a --tool-prefix-binutils CLI flag.  Closes: #869868
      * On non-GNU systems, prefer some tools that start with "g".  Closes: #871029
      * presenters:
        + html:
          - Don't traverse children whose parents were already limited.
            Closes: #871413
    
      [ Santiago Torres-Arias ]
      * diffoscope.progress:
        + Support the new fork of python-progressbar.  Closes: #873157
    
     -- Mattia Rizzolo <email address hidden>  Sun, 03 Sep 2017 22:23:06 +0200
  • diffoscope (85) unstable; urgency=medium
    
      [ Mattia Rizzolo ]
      * tools:
        + move from the deprecated platform.linux_distribution() to the external
          python package "distro".  Add it as an optioanl dependency, as without it
          distribution detection (i.e. `diffoscope --list-tools`) won't work.
          Also add it as a Debian (hard) dependency, as it's a very lightway
          package, and the usefulness it brings are great.
        + add a get_package_provider() function, returning the package name
          that best matches the system.
      * exc:
        + in RequiredToolNotFound.get_package(), just call the new
          get_package_provider()
      * debian/rules:
        + recommends the defusedxml python package, to avoid using the python3's
          standard xml library and its security holes.
    
      [ Chris Lamb ]
      * comparators:
        + sqlite:
          - Simplify file detection by rewriting manual `recognizes` call
            with a `Sqlite3Database.RE_FILE_TYPE` definition.
        + xml:
          - Fix EPUB "missing file" tests; they ship a META-INF/container.xml file.
    
      [ Ximin Luo ]
      * comparators:
        + factor common logic from various comparators into File.recognizes.
        + more tidying up and making names consistent.
        + directory:
          - make stat(1) warning textually like the other warnings.
          - bump stat(1) warning into an error.
          - use getfacl(1) before lsattr(1) as it's more general.
        + apk:
          - less kludgy way of detecting APKs.  Closes: #868486
      * main, logging:
        + restore old logger settings to avoid pytest fail in certain situations.
      * debian/rules:
        + add a check to prevent additions of "DOS/MBR" file type.
      * feeder:
        + force a flush when writing output to diff.  Closes: #870049
      * tests/comparators:
        + directory:
          - be less strict about the expected test output, to cope with a missing
            `getfacl`.  Closes: #868534
    
      [ Juliana Oliveira Rodrigues ]
      * comparators:
        + Add new XML comparator.  Closes: #866120
          The comparator will use defusedxml if this is installed, to avoid
          falling in known security holes coming from the XML specification.
      * tests/comparators:
        + apk:
          - fix the tests after the addition of the XML comparator.
        + image:
          - fix test_ico_image for identify >= 6.9.8.
    
      [ Guangyuan Yang ]
      * tests/comparators:
        + device:
          - fix 2 cases for FreeBSD.
    
     -- Mattia Rizzolo <email address hidden>  Mon, 31 Jul 2017 22:27:45 +0200
  • diffoscope (84build4) artful; urgency=medium
    
      [ Mattia Rizzolo ]
      * cherry-pick part of 041c2b8356aae6005cd2d815a1233c4d00eccad7
    
     -- Gianfranco Costamagna <email address hidden>  Wed, 26 Jul 2017 19:31:02 +0200
  • diffoscope (84build3) artful; urgency=medium
    
      [ Mattia Rizzolo ]
      * cherry-pick upstream commit to fix another test failure on
        s390x
        - fe57c99828060ae77af2784961d47beb44eb74f5
    
     -- Gianfranco Costamagna <email address hidden>  Wed, 26 Jul 2017 14:42:18 +0200
  • diffoscope (84build2) artful; urgency=medium
    
      [ Mattia Rizzolo ]
      * cherry-pick upstream commit to fix another test failure on
        s390x
        - 7e16cecb98ec2e874da4f3ea291e276602852dcd
    
     -- Gianfranco Costamagna <email address hidden>  Wed, 26 Jul 2017 14:38:48 +0200
  • diffoscope (84build1) artful; urgency=medium
    
      * cherry-pick upstream commits to fix build/test failures.
        - c8927db98131a129c5d7354bfe8a6b0886ca66f8
        - e62306e17e8a9b981d3b7f427bc99f8582a0301a
        - c12bee5fc718c918d6280102d4dbe688b0a553cf
    
     -- Gianfranco Costamagna <email address hidden>  Wed, 26 Jul 2017 08:56:53 +0200
  • diffoscope (84) unstable; urgency=medium
    
      [ Ximin Luo ]
      * comparators:
        + directory:
          - raise warning for getfacl and remove a redundant try-clause.
          - add a --exclude-directory-metadata option.  Closes: #866241
      * diff:
        + Restore artificial limit when calculating linediff, to prevent memory
          blow up.  Closes: #865660
      * presenters:
        + text:
          - fix recursive header display in the text output, deeply-nested headers
            were not getting indented far enough.
        + add a PartialString class.
        + html:
          - in html-dir mode, put css/icon in separate files to avoid duplication.
          - split index pages up if they get too big.
          - add a size-hint to the diff headers and lazy-load buttons.
          - diffcontrol UI tweaks:
            * don't toggle buttons for diffs that haven't been loaded yet;
            * make the diffcontrol headers clickable.
          - more intuitive "limit" flags, with some backwards-incompatible changes:
            --max-report-size:
              Old: in --html-dir this limited only the parent page
              New: in --html-dir this applies across all pages
            --max-diff-block-lines:
              Old: in --html-dir 4 * this number applied across all pages
              New: in --html-dir this applies across all pages
            --max-page-size:
              New flag
              Applies to the sole --html page, or the top-level --html-dir page
            --max-report-child-size
              Renamed to
            --max-page-size-child:
              No behavioural changes
            --max-diff-block-lines-parent
              Renamed to
            --max-page-diff-block-lines:
              Old: Only applied to the top-level --html-dir page
              New: Applies to the sole --html page or the top-level --html-dir page
      * main:
        + temporarily add old flags back for backwards-compatibility.
        + warn if loading a diff but also giving diff-calculation flags.
        + implement proper boolean flags to fix test failure in previous commit.
      * tests:
        + handle existing but not importable modules.
          This fixes the tests during the Python 3.6 transition, where some
          modules (like rpm) exists but are not yet rebuilt for 3.6.
        + fix progressbar failure that was exposed by the previous importing fixes.
        + presenters:
          - skip visual test if tools aren't installed.  Closes: #865625
        + comparators
          - sqlite: test for sqlite 3.19.
          - fsimage: move the guestfs cache out of the default /var/tmp/ into a
            "more temporary" directory.
    
      [ Mattia Rizzolo ]
      * debian/control: fix Vcs-Git field.
    
      [ Chris Lamb ]
      * debian/control: bump Standards-Version to 4.0.0.
    
      [ Daniel Shahaf ]
      * Fix markup in the man page synopsis.  Closes: #866577
       Thanks to Niels Thykier for the report.
    
     -- Mattia Rizzolo <email address hidden>  Wed, 12 Jul 2017 12:28:11 +0200
  • diffoscope (83) unstable; urgency=medium
    
      [ Chris Lamb ]
      * New features:
        * Add comparator for Fontconfig cache files.
      * Bug fixes:
        - Don't fail when run under perversely recursive input files. See
          <https://research.swtch.com/zip> for more information. (Closes: #780761)
        - Prevent a traceback when using --new-file with containers by passing
          progress_name of the Member and not the member itself. (Closes: #861286)
        - Drop passing has_differences around, fixing an issue with generating
          files called '-'.
      * Cleanups & refactoring:
        - Reorder and rename FIFOFeeder arguments to prevent tools incorrectly
          parsing as a SyntaxError.
        - Refactor HTML and text presenters so they fit the same interface.
        - Refactor Presenter to a singleton manager.
        - Split output and configuration of presenters.
        - Prevent abstraction-level violation by defining visual diff support on
          the Presenter classes.
        - Split diffoscope.difference into a feeders module.
        - Document various variables.
        - PEP8-ify and tidy a lot of files.
    
      [ Ximin Luo ]
      * New features:
        - Add --max-container-depth CLI option.
        - Add various traverse_* methods to Difference.
        - Weigh elements in progress bar by their size.
        - Add a reader for the JSON format.
        - Add a --exclude-command CLI for filtering out long-running commands like
          "readelf --debug-dump=info".
        - Don't show +/- controls for differences with no children.
        - Use unicode chars for the +/- controls instead of punctuation.
      * Bug fixes:
        - Fix --exclude control.tar.gz.
        - Make the progress bar play nicely with --debug.
        - When enforcing max-container-depth, show which internal files differ,
          without showing details.
        - Fix JSON presenter to handle recursion properly.
        - Avoid a ZeroDivisionError in the progress bar
        - Fix create_limited_print_func.
      * Tests:
        - Fix failing tests due to logging global state.
        - Add tips about running with TMPDIR=/run/shm.
      * Cleanups & refactoring:
        - Remove unnecessary "dest" args to argparse.
        - Refactor DirectoryContainer to be more similar to Container.
        - Refactor Container abstract method names.
        - Remove unused imports and tidy up Container.comparisons().
        - rename get_{filtered => adjusted}_members_sizes for consistency.
        - Move tests/comparators/utils up one directory.
        - html-dir: show/hide diff comments which can be very large.
        - Refactor html-dir presenter to a class instance avoiding global state.
        - Move side-by-side and linediff algorithms to difference.py.
        - difference: has_children -> has_visible_children, and take into account
          comments.
        - Move ydiff/linediff from diffoscope.{difference => diff} to group
          unified_diff-related things together
    
      [ Maria Glukhova ]
      * New features:
        - Add visual comparisons for JPEG, ICO, PNG and static GIF images.
      * Test improvements:
        - Test that external tools providers are being returned when tool is not
          found.
        - Add tests for OutputParserError and ContainerExtractionError.
      * Cleanups & refactoring:
        * Ignore text difference if we have a visual one.
        * Fix link formatting and typo in README.
        * Rename html_output to compute_visual_diffs and explain its purpose.
        * Removed duplicated functions from diff.py.
    
      [ Mattia Rizzolo ]
      * Export junit-xml style test report when building on Jenkins.
    
      [ anthraxx ]
      * Extend external Arch Linux tools list.
    
     -- Chris Lamb <email address hidden>  Sun, 18 Jun 2017 15:34:59 +0800
  • diffoscope (82) experimental; urgency=medium
    
      [ Chris Lamb ]
      * New features:
        - Add support for comparing Pcap files. (Closes: #858867)
        - Add support for .docx and .odt files via docx2txt & odt2txt.
          (Closes: #859056)
        - Add support for PGP files via pgpdump. (Closes: #859034)
        - Add support for comparing Ogg Vorbis files.
      * Bug fixes:
        - Don't crash on invalid archives; print a useful error instead.
          (Closes: #833697)
        - Ensure tests and the runtime environment can locate binaries in
          /usr/sbin (eg. tcpdump)
      * Tests:
        - Ensure that PATH is modified.
        - Ensure @tool_required raises RequiredToolNotFound.
        - Don't assume that /sbin/init exists; locate any /sbin binary manually and
          then test for that. This should prevent FTBFS on travis-ci.org.
        - Show packages installed in report output.
      * Misc:
        - comparators.bzip2: Don't print error output from bzip2 call.
        - comparators.pcap: Show the delta, not the absolute time.
        - Use /usr/share/dpkg/pkg-info.mk over manual calls to dpkg-parsechangelog
          in debian/rules.
        - Document PYTHONPATH usage when running tests in README.Source.
        - Add internal documentation for @tool_required decorator.
    
      [ <email address hidden> ]
      * Display differences in zip platform-specific timestamps. (Closes: #859117)
    
      [ Ximin Luo ]
      * Add support for R .rds and .rdb object files.
    
      [ Vagrant Cascadian ]
      * Add support for .dtb (device tree blob) files (Closes: #861109).
    
     -- Chris Lamb <email address hidden>  Wed, 26 Apr 2017 16:17:57 +0200
  • diffoscope (81) experimental; urgency=medium
    
      [ Chris Lamb ]
      * Correct meaningless "1234-content" metadata when introspecting files
        within archives. This was a regression since #854723 due to the use of
        auto-incrementing on-disk filenames. (Closes: #858223)
      * Refactor get_compressed_content_name.
    
      [ Ximin Luo ]
      * Improve ISO9660/DOS/MBR check.
    
     -- Chris Lamb <email address hidden>  Mon, 27 Mar 2017 16:21:17 +0100