Bug#988488: diffoscope: allow comparing directories with container formats (tar/ZIP/ISO etc)

Paul Wise pabs at debian.org
Fri May 14 04:41:25 BST 2021


Package: diffoscope
Version: 174
Severity: wishlist

When comparing directories and files that are essentially directories
serialised into a file (such as tar, ZIP, ISO etc), currently
diffoscope just says one is a file while one is a directory.

   $ rm -rf ./* ; mkdir foo ; echo foo > foo/bar ; tar acf foo.tar foo ; echo bar >> foo/bar
   $ diffoscope foo foo.tar
   --- foo
   +++ foo.tar
   @@ -1 +1 @@
   -type: directory
   +type: file

diffoscope can already compare two directories, or two tar files or a
zip file and a tar file, so it would be useful if it could compare a
directory with a file in one of the many types of container formats.

This would be useful in many situations but especially for the
situation where dpkg-source reports a change to a file in the working
directory compared to the upstream tarball, but the change isn't
obvious from the output and should not be present in theory.

   dpkg-source: error: cannot represent change to foo.exe: binary file contents changed

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (900, 'testing-debug'), (900, 'testing'), (800, 'unstable-debug'), (800, 'unstable'), (790, 'buildd-unstable'), (700, 'experimental-debug'), (700, 'experimental'), (690, 'buildd-experimental'), (500, 'testing-security')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-6-amd64 (SMP w/8 CPU threads)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8), LANGUAGE=en_AU:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages diffoscope depends on:
ii  diffoscope-minimal  174

Versions of packages diffoscope recommends:
ii  abootimg                         0.6-1+b2
ii  acl                              2.2.53-10
ii  apksigner                        30.0.3-4
ii  apktool                          2.5.0+dfsg.1-2
ii  binutils-multiarch               2.35.2-2
ii  bzip2                            1.0.8-4
ii  caca-utils                       0.99.beta19-2.2
ii  colord                           1.4.5-3
ii  db-util                          5.3.1+nmu1
ii  default-jdk [java-sdk]           2:1.11-72
ii  default-jdk-headless             2:1.11-72
pn  device-tree-compiler             <none>
pn  docx2txt                         <none>
ii  e2fsprogs                        1.46.2-1
ii  enjarify                         1:1.0.3-5
ii  ffmpeg                           7:4.3.2-0+deb11u1
ii  fontforge-extras                 1:20201107~dfsg-4
pn  fp-utils                         <none>
ii  genisoimage                      9:1.1.11-3.2
ii  gettext                          0.21-4
ii  ghc                              8.8.4-2
ii  ghostscript                      9.53.3~dfsg-7
ii  giflib-tools                     5.1.9-2
ii  gnumeric                         1.12.48-1+b2
ii  gnupg                            2.2.27-2
ii  gnupg-utils                      2.2.27-2
pn  hdf5-tools                       <none>
ii  imagemagick                      8:6.9.11.60+dfsg-1.3
ii  imagemagick-6.q16 [imagemagick]  8:6.9.11.60+dfsg-1.3
ii  jsbeautifier                     1.13.0-1
ii  libarchive-tools                 3.4.3-2+b1
ii  llvm                             1:11.0-51+nmu4
ii  lz4 [liblz4-tool]                1.9.3-2
pn  mono-utils                       <none>
ii  ocaml-nox                        4.11.1-4
pn  odt2txt                          <none>
pn  oggvideotools                    <none>
ii  openjdk-11-jdk [java-sdk]        11.0.11+9-1
ii  openssh-client                   1:8.4p1-5
ii  openssl                          1.1.1k-1
ii  pgpdump                          0.33-2
ii  poppler-utils                    20.09.0-3.1
pn  procyon-decompiler               <none>
ii  python3-argcomplete              1.8.1-1.5
ii  python3-binwalk                  2.3.1+dfsg1-1
ii  python3-debian                   0.1.39
ii  python3-defusedxml               0.6.0-2
ii  python3-guestfs                  1:1.44.0-2
ii  python3-jsondiff                 1.1.1-4
ii  python3-pdfminer                 20200726-1
ii  python3-progressbar              2.5-2
ii  python3-pypdf2                   1.26.0-4
ii  python3-pyxattr                  0.7.2-1+b1
ii  python3-rpm                      4.16.1.2+dfsg1-0.4
ii  python3-tlsh                     3.4.4+20151206-1.3+b4
pn  r-base-core                      <none>
pn  radare2                          <none>
ii  rpm2cpio                         4.16.1.2+dfsg1-0.4
ii  sng                              1.1.0-4
ii  sqlite3                          3.34.1-3
ii  squashfs-tools                   1:4.4-2
ii  tcpdump                          4.99.0-2
ii  u-boot-tools                     2021.01+dfsg-4
ii  unzip                            6.0-26
ii  vim-common                       2:8.2.2434-3
pn  wabt                             <none>
pn  xmlbeans                         <none>
ii  xxd                              2:8.2.2434-3
ii  xz-utils                         5.2.5-2
ii  zip                              3.0-12
ii  zstd                             1.4.8+dfsg-2.1

Versions of packages diffoscope suggests:
ii  libjs-jquery  3.5.1+dfsg+~3.5.5-7

-- no debconf information

-- 
bye,
pabs

https://wiki.debian.org/PaulWise
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://alioth-lists.debian.net/pipermail/reproducible-builds/attachments/20210514/fc01b00b/attachment.sig>


More information about the Reproducible-builds mailing list