]> git.ipfire.org Git - thirdparty/libarchive.git/commit
Fix for issue #623.
authorTim Kientzle <kientzle@acm.org>
Sun, 21 Feb 2016 20:34:57 +0000 (12:34 -0800)
committerTim Kientzle <kientzle@acm.org>
Sun, 21 Feb 2016 20:34:57 +0000 (12:34 -0800)
commit3477e4e33fb83a721ba274e49df9c2c92e4c953d
tree3b64688c95209dcdd29e28e5bdbd6a2240fa8e45
parent37649d274867edd2dd25d8a3057c3b6cd81ce83e
Fix for issue #623.

Apparently, people have come to expect that the following
is sufficient to get bit-for-bit identical output from tar:
   * Same filenames
   * Same contents
   * Same uid, gid
   * Same mtime (forced via "touch -t <timestamp>")
   * Sorting entries

Bsdtar's "restricted pax" format violated this by including
ctime, atime, and birthtime (which are not updated by
'touch -t).  So we should only emit those additional time
values in the full pax format.

People who are really serious about generating bit-for-bit
identical archives should really build their own command-line
interface: You can still use libarchive to build the output,
but your custom CLI could sort the entries and strip everything
except a bare minimum of basic metadata.
libarchive/archive_write_set_format_pax.c