Your message dated Fri, 10 May 2024 14:49:40 +0000
with message-id <e1s5rz6-00ebha...@fasolo.debian.org>
and subject line Bug#1069329: fixed in diffoscope 266
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: 266
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, 10 May 2024 13:49:03 +0100
Source: diffoscope
Built-For-Profiles: nocheck
Architecture: source
Version: 266
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 (266) unstable; urgency=medium
 .
   [ Chris Lamb ]
   * Use "xz --list" to supplement the output when comparing .xz archives;
     essential when some underlying metadata differs. (Closes: #1069329)
   * Actually append the xz --list after the container differences, as it
     simplifies tests and the output.
   * Add 7zip to <!nocheck> Build-Depends in debian/control.
   * Update copyright years.
 .
   [ James Addison ]
   * Maintain an in-header boolean state to determine whether to drop
     from-file/to-file lines. This fixes an issue where HTML differences were
     being inadvertendly neglected. (Closes: reproducible-builds/diffoscope#372)
Checksums-Sha1:
 b334dbb7ebe34a2ab9436fbf01f931e3927cc85c 5196 diffoscope_266.dsc
 2d826b4bdd1ae00873abadcfd8f4891951fc3047 2460296 diffoscope_266.tar.xz
 a5f332510858035d3182af7f8a2e326b114df158 7232 diffoscope_266_amd64.buildinfo
Checksums-Sha256:
 dac23870f602ba31ee2854068ace38ef340f03f3de20f3b74dfd3cb4c00aec00 5196 
diffoscope_266.dsc
 73306d44f300333a42be0c0f11acabcb1f7ee277cc911b4aa9c895f11d25e4ac 2460296 
diffoscope_266.tar.xz
 6a1945ee5df064e4bdc6c017261c6553ce755a203942a4db3fa29ce70e4c2846 7232 
diffoscope_266_amd64.buildinfo
Files:
 9814798292b4d16bdf31928e8d729813 5196 devel optional diffoscope_266.dsc
 389f1a89d7ec7e3693078d57b6b41d55 2460296 devel optional diffoscope_266.tar.xz
 18c148f33164fda40e414954fd350143 7232 devel optional 
diffoscope_266_amd64.buildinfo

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

iQIzBAEBCAAdFiEEwv5L0nHBObhsUz5GHpU+J9QxHlgFAmY+KK8ACgkQHpU+J9Qx
HljK1hAAxkNktitAitqQRlnJ9ZSJGo/5bRC/nYKsnuc9Nn3cFOW5R8rkDR/f6ARx
8xugiPOtMSdjW+kWWz3pdW4IyVqHBKdtwBpDU5W2JU1NB3QEgm778zsNhJQO2qfG
MMEuNd0hLvLbuztkQ12k4FqItHWxk48BdzM6VGzYMYKNdPoSRJQdiPe33SYFDh2n
A08Jdo9vV9LaaOSlm+2P5x9l0rDPVkaGCCt63HIStSpdFFETh26SFbgsXj+zUzgw
MvXYNkx3q/jHicGmCeM/svOW4+B642s0yEadIwpJrXpZpWNCy0MLE5rvUibdLJHi
rxdvD0HHwMCJiEmaQpUGQxohSrDUpJwndGt6zaImx/JdBJ5aP7x0vwlw3b6OzZO2
un7+7vq+6lWk5N12t5dDBFUkZ/mz6NozSlRuo4CKQmBxjVcuTLTgaOCV8DCAdGt8
GBd1OH/tdxDP76Vx1DUzncLDKeelX+S8jyQ4+qBa8XNfHSeD9h0fuYdu/VV1J0sM
l55MlHi7xhm+FoxTZtPG7ArLV41ua3NrxGgoa3TxUYVvX8LDqUZ9mH9C4zZnFty5
vEPqcVnPISkmvNu0OlUQsreFchO7W83y76bnob/G9v7N7ixorl3R/Q67OjHdP/Gr
6ZFOLNbaT1HRB9/6HQyVRNx/X2NK54oEkb81OWH8s2r3jupdEy8=
=wxKI
-----END PGP SIGNATURE-----

Attachment: pgpGyLC34JjiJ.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