Your message dated Tue, 15 Dec 2015 16:34:23 +0000
with message-id <>
and subject line Bug#807997: fixed in diffoscope 43
has caused the Debian Bug report #807997,
regarding diffoscope: CbfsFile checks make diffoscope extra slow
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact

Debian Bug Tracking System
Contact with problems
--- Begin Message ---
Source: diffoscope
Version: ada1a1dcdc19217fb611e0a1e57bc3744399aefa
Severity: important

Dear Maintainer,

   * What led up to the situation?


   * What exactly did you do (or not do) that was effective (or

Ran `diffoscope --html output.html firefox-45.0a1.en-US.linux-x86_64.tar.bz2 

   * What was the outcome of this action?

It took 9 minutes and 15 seconds on my machine.

   * What outcome did you expect instead?

It taking much less time. In fact, after doing some profiling and seeing that
CbfsFile was a hotspot, applying the following patch made the command take 80
seconds instead, most of which is spent bunzip2'ing the two archives
sequentially, and objdump --disassemble'ing in the two archives in
parallel (so there could be a win with bunzip2'ing the two archives in
parallel, too).

diff --git a/diffoscope/comparators/ 
index b4615c9..c4cffbb 100644
--- a/diffoscope/comparators/
+++ b/diffoscope/comparators/
@@ -129,7 +129,6 @@ FILE_CLASSES = (
-    CbfsFile,

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.2.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

--- End Message ---
--- Begin Message ---
Source: diffoscope
Source-Version: 43

We believe that the bug you reported is fixed in the latest version of
diffoscope, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
Jérémy Bobbio <> (supplier of updated diffoscope package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing

Hash: SHA256

Format: 1.8
Date: Tue, 15 Dec 2015 15:54:55 +0000
Source: diffoscope
Binary: diffoscope debbindiff
Architecture: source all
Version: 43
Distribution: unstable
Urgency: low
Maintainer: Reproducible builds folks 
Changed-By: Jérémy Bobbio <>
 debbindiff - transitional package
 diffoscope - in-depth comparison of files, archives, and directories
Closes: 805774 806891 807997
 diffoscope (43) unstable; urgency=low
   [ Reiner Herrmann ]
   * Add comparator for Android dex files.
   * Add comparator for filesystem images using libguestfs.
   [ Chris Lamb ]
   * Add comparator for icons and JPEG images using libcaca.
   [ Clemens Lang ]
   * Add comparator for OS X binary files (also known as Mach-O). Requires the
     otool(1) and lipo(1) which are mostly likely found on OS X.
   [ Baptiste Daroussin ]
   * Use libarchive for tar instead of Python included library. We already
     have libarchive as a mandatory dependency, and libarchive is faster
     and more reliable.
   [ Mike McQuaid ]
   * Support older versions of GNU diff. OS X 10.11 ships with an older GPLv2
     version (`2.8.1`) which does not support the `diff -u7` flag but instead
     wants to use `diff -U7` which appears to be forward compatible.
   [ Ed Maste ]
   * Use more portable LC_CTYPE suggestion. The C.UTF-8 locale is a Debian
   [ Levente Polyak ]
   * Force ppudump to output time in UTC using the TZ variable. Support for the
     TZ environment variable has been implemented in fpc r32369.
   * Make PPU comparator version aware by checking the magic version expected by
     ppudump itself.
   [ Joachim Breitner ]
   * Add support for multi-file HTML output with on-demand loading of long
     diffs. This is available through the --html-dir option. Location of the
     jQuery JavaScript library can be specified through the --jquery option.
     (Closes: #806891)
   [ Jérémy Bobbio ]
   * Return the target path as string when extracting from a Zip. Regression
     introduced in diffoscope 41. (Closes: #805774)
   * Use pass_fds from Popen instead of reimplementing it. Thanks Baptiste
     Daroussin for the tip.
   * Fix typo in debug message. Thanks Clemens Lang!
   * Benefit from dictionary keys() behaving as set when comparing md5sums.
   * Prevent overwriting the destination when extracting with libarchive.
     Thanks Baptiste Daroussin noticing and initial implementation.
   * Fix PPU detection and associated tests.
   * Use lazy extraction instead of explicit bracketing. We now rely on
     Python garbage collector to delete file once we are done comparing.
     This will make parallel processing easier to implement.
   * Make container class available on demand instead of bracketing.
     This cleanups boilerplate code, and should make parallel processing
     easier to implement.
   * Always compare container content if applicable. This removes more
     boilerplate code.
   * Call xxd like other commands.
   * Analyze md5sums file in .deb before working on data.tar. This makes
     the code more robust and is required to properly skip files listed as
     identical in md5sums while doing parallel processing.
   * Add support for package names for OS other than Debian. The --list-tools
     command-line option now supports an optional argument to display a given
     operating system. When --list-tools is called without
     an optional argument and the current operating system is unknown,
     the list of packages for all known operating systems will be displayed.
     Initial implementation by Mattia Rizzolo, then greatly enhanced by
     Levente Polyak.
   * Update list of contributors.
   * Add contact info to README.
   * Add python3-guestfs to the list of Recommends.
   * Display a better error message when guestfs can't be started.
   * Set libguestfs memory allocation to 128 MiB in autopkgtest as more is
     likely to fail with adt-virt-qemu default settings.
   * Prevent CBFS comparator from scanning big files needlessly. Thanks Mike
     Hommey for the detailed bug report and suggestions. (Closes: #807997)
 6151011f22b5b41610ae94aadad3403d07f01284 2000 diffoscope_43.dsc
 d129027063364cfaac87904172263346ff4b4ce4 235064 diffoscope_43.tar.xz
 f94e02fea2f3bdaaec519e79734126192f575778 12286 debbindiff_43_all.deb
 000fd65b300c0c5d228ec060eaf444f261b7a5b3 49492 diffoscope_43_all.deb
 01d34c9cf412362ec43126f2abac9ba8781b51c9600e735e084eaac33ba7c22a 2000 
 f6fbf7e769708a84236f5c50fd2a5e01a0a19a49aef8fd6974fc1bd574ba8da7 235064 
 1b23fc283653419f52c9b15384ba1d2e3b1e18134f3e21b00bb41ff13bd2b937 12286 
 0719e5c9338da9805676633fad5d03106dd765e3a4dfb7c465600decd6a762cc 49492 
 b3855d7a64df57b218779fda0a46e4d2 2000 devel optional diffoscope_43.dsc
 6c2d98daa195abc91eff8e45719be497 235064 devel optional diffoscope_43.tar.xz
 da9e8f1c6a03d86fc7fede6558cd875f 12286 oldlibs extra debbindiff_43_all.deb
 943d924002a71942a601f108254e5f2e 49492 devel optional diffoscope_43_all.deb

Version: GnuPG v1


--- End Message ---
Reproducible-builds mailing list

Reply via email to