Your message dated Fri, 17 May 2024 07:49:45 +0000
with message-id <e1s7slz-005qux...@fasolo.debian.org>
and subject line Bug#1069329: fixed in diffoscope 267
has caused the Debian Bug report #1069329,
regarding diffoscope: XZ: compare metadata before comparing compressed data
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 ow...@bugs.debian.org
immediately.)


-- 
1069329: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1069329
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: diffoscope
Severity: wishlist
X-Debbugs-Cc: Sam James <s...@gentoo.org>

When comparing two XZ compressed files that decompress to identical
data, please compare the metadata before comparing compressed data.

The xz --list option can be used for this, from the manual page:

   Print information about compressed files. No uncompressed output is
   produced, and no files are created or removed. In list mode, the 
   program cannot read the compressed data from standard input or from
   other unseekable sources.
   
   The default listing shows basic information about files, one file
   per line. To get more detailed information, use also the --verbose
   option. For even more information, use --verbose twice, but note
   that this may be slow, because getting all the extra information
   requires many seeks. The width of verbose output exceeds 80
   characters, so piping the output to, for example, less -S may be
   convenient if the terminal isn't wide enough.
   
   The exact output may vary between xz versions and different locales.
   For machine-readable output, --robot --list should be used.

In addition, the filename printed is the one from the command-line,
there does not appear to be filename metadata embedded in XZ files,
so the filename could be stripped before comparison where possible,
since diffoscope already compares filenames at a different layer.

The human-readable output may change between xz versions, so the
filename stripping will be brittle and could break on xz updates,
but comparing human-readable output is more user-friendly than
comparing the robot output, so any stripping would have to be
best-effort, but since any tests for it could break on xz upgrades,
and probably many comparisons will be between the same filenames within
different dirs, it might not be worth adding filename stripping yet,
until xz itself offers an option for hiding the filenames.

In addition, currently the xz --list option only supports the xz file
format and does not support the lzma and lzip file formats.

   $ echo foo > foo
   $ xz -0 < foo > foo.0.xz
   $ xz -9 < foo > foo.9.xz
   
   $ diffoscope foo.0.xz foo.9.xz 
   --- foo.0.xz
   +++ foo.9.xz
   │┄ Format-specific differences are supported for XZ compressed files but no 
file-specific differences were detected; falling back to a binary diff. file(1) 
reports: XZ compressed data, checksum CRC64
   @@ -1,4 +1,4 @@
    00000000: fd37 7a58 5a00 0004 e6d6 b446 0200 2101  .7zXZ......F..!.
   -00000010: 0c00 0000 8f98 419c 0100 0366 6f6f 0a00  ......A....foo..
   +00000010: 1c00 0000 10cf 58cc 0100 0366 6f6f 0a00  ......X....foo..
    00000020: ffd7 ac5a 3031 9cf2 0001 1c04 6f2c 9cc1  ...Z01......o,..
    00000030: 1fb6 f37d 0100 0000 0004 595a            ...}......YZ
   
   $ diff -u <(xz --list foo.0.xz) <(xz --list foo.9.xz)
   --- /dev/fd/63       2024-04-20 08:26:27.769377608 +0800
   +++ /dev/fd/62       2024-04-20 08:26:27.769377608 +0800
   @@ -1,2 +1,2 @@
    Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename
   -    1       1         60 B          4 B    ---  CRC64   foo.0.xz
   +    1       1         60 B          4 B    ---  CRC64   foo.9.xz
   
   $ diff -u <(xz --list --verbose foo.0.xz) <(xz --list --verbose foo.9.xz)
   --- /dev/fd/63       2024-04-20 08:26:43.701196927 +0800
   +++ /dev/fd/62       2024-04-20 08:26:43.705196881 +0800
   @@ -1,4 +1,4 @@
   -foo.0.xz (1/1)
   +foo.9.xz (1/1)
      Streams:           1
      Blocks:            1
      Compressed size:   60 B
   
   $ diff -u <(xz --list --verbose --verbose foo.0.xz) <(xz --list --verbose 
--verbose foo.9.xz)
   --- /dev/fd/63       2024-04-20 08:26:56.029056126 +0800
   +++ /dev/fd/62       2024-04-20 08:26:56.029056126 +0800
   @@ -1,4 +1,4 @@
   -foo.0.xz (1/1)
   +foo.9.xz (1/1)
      Streams:           1
      Blocks:            1
      Compressed size:   60 B
   @@ -11,7 +11,7 @@
             1         1               0               0              60        
       4    ---  CRC64            0
      Blocks:
        Stream     Block      CompOffset    UncompOffset       TotalSize      
UncompSize  Ratio  Check      CheckVal          Header  Flags        CompSize   
 MemUsage  Filters
   -         1         1              12               0              28        
       4  7.000  CRC64      f29c31305aacd7ff      12  --                  8     
  1 MiB  --lzma2=dict=256KiB
   -  Memory needed:     1 MiB
   +         1         1              12               0              28        
       4  7.000  CRC64      f29c31305aacd7ff      12  --                  8     
 65 MiB  --lzma2=dict=64MiB
   +  Memory needed:     65 MiB
      Sizes in headers:  No
      Minimum XZ Utils version: 5.0.0
   
   $ diff -u <(xz --robot --list --verbose --verbose foo.0.xz) <(xz --robot 
--list --verbose --verbose foo.9.xz)
   --- /dev/fd/63       2024-04-20 08:31:42.445584805 +0800
   +++ /dev/fd/62       2024-04-20 08:31:42.449584755 +0800
   @@ -1,6 +1,6 @@
   -name        foo.0.xz
   +name        foo.9.xz
    file        1       1       60      4       ---     CRC64   0
    stream      1       1       0       0       60      4       ---     CRC64   0
   -block       1       1       1       12      0       28      4       7.000   
CRC64   f29c31305aacd7ff        12      --      8       327736  
--lzma2=dict=256KiB
   -summary     327736  no      50000002
   -totals      1       1       60      4       ---     CRC64   0       1       
327736  no      50000002
   +block       1       1       1       12      0       28      4       7.000   
CRC64   f29c31305aacd7ff        12      --      8       67174456        
--lzma2=dict=64MiB
   +summary     67174456        no      50000002
   +totals      1       1       60      4       ---     CRC64   0       1       
67174456        no      50000002

-- 
bye,
pabs

https://wiki.debian.org/PaulWise

Attachment: signature.asc
Description: This is a digitally signed message part


--- End Message ---
--- Begin Message ---
Source: diffoscope
Source-Version: 267
Done: Chris Lamb <la...@debian.org>

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
attached.

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

Debian distribution maintenance software
pp.
Chris Lamb <la...@debian.org> (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 ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Fri, 17 May 2024 08:37:23 +0100
Source: diffoscope
Built-For-Profiles: nocheck
Architecture: source
Version: 267
Distribution: unstable
Urgency: medium
Maintainer: Reproducible builds folks 
<reproducible-bui...@lists.alioth.debian.org>
Changed-By: Chris Lamb <la...@debian.org>
Closes: 1069329
Changes:
 diffoscope (267) unstable; urgency=medium
 .
   [ Chris Lamb ]
   * Include "xz --verbose --verbose" (ie. double --verbose) output, not just
     the single --verbose. (Closes: #1069329)
   * Only include "xz --list" output if the xz has no other differences.
Checksums-Sha1:
 b381bba984b6c9ce30d36514482d992413d09301 5196 diffoscope_267.dsc
 19bed36235026143c233ac9017fb736ea4954067 2460960 diffoscope_267.tar.xz
 6873aed913d639c7c364dcdf1e5930effd5a6b43 7210 diffoscope_267_amd64.buildinfo
Checksums-Sha256:
 11918dea8ba5b009dac5f31884e53068967ce7c9c49b478c9c7b80ea647167d4 5196 
diffoscope_267.dsc
 465ae74323f825ba75f3061a092d2e2cec61511ea29394b8f78c7e44e0ae8b97 2460960 
diffoscope_267.tar.xz
 8a4b3eda63c5b24568db4002615c7c324e3f7d8cf11ad712ff6ecb467f282d28 7210 
diffoscope_267_amd64.buildinfo
Files:
 25d4e9b453fda904138b7890837f6dd7 5196 devel optional diffoscope_267.dsc
 3edb220da9e92b7e204f9c0925582bac 2460960 devel optional diffoscope_267.tar.xz
 4514e7c4dd60616729e8362c6c669e2b 7210 devel optional 
diffoscope_267_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEwv5L0nHBObhsUz5GHpU+J9QxHlgFAmZHCcoACgkQHpU+J9Qx
HlgXZA/+OSsxbENVMUChvYsL0qt0y0qdwv1JvHbu5hXoNdFIC9Lq/nUjkG9v6xG6
q37rkrQ/ppUfVRWeuNcW7exH6iiII0991Y3X8k0MA0N+T8OhacUrICp4PqFtD+H/
ENstQ3zkJBMPU/+U9VG2QyUGXkYlXDrolsodDGcv1EKFAC+ZMBQOvI6ib1/zEXsn
nnHD3vXf8C8oyzihBOSCexVA99jzw3mbXNODVY3TvddymO9HGWg3qNL/FaOLn+ig
iM3CJ3dF6TCu+CkS02K1iiDG2BCvop8ljja9rOnmEINHVRmwqDJebD/WX+A8LVp4
6JHJv2+HXbWFrMdY0AY8jaS3oX6a5qeHhb+KoDG5BP1f86TVu0BJ2/cD61kz7YIS
NPLEHX7aehSsGsxz5N4QSarv1ON4AC7lvDq+xoFvehPPVcvzK1nfMxA52FKU9VrI
NreKDGgRvVGIF01JpRyhsMnueFluNixdrv80KVVHV2eJHO8PV8Dkq8kmZ3DPpBRz
3Vy3NEfKH8mTc448vHtdu8AlUsf23FFMVy9h/S0ZYufXj0ESz4ztvXv04qmsjYPo
xrWMH7KLmbNHcTxu/JH0OxDZ+okI1FabrKqeWcdUZe+utG0M7MMrxNraI0hyiJRs
Wi6ehARUufTnOvRaLd2aXRO9DCfreDGlFArb3Elh1G079XXsSdI=
=g3Vx
-----END PGP SIGNATURE-----

Attachment: pgpM5HXZbT1em.pgp
Description: PGP signature


--- End Message ---
_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to