cvs commit: src/lib/libarchive archive_read_support_format_tar.c src/lib/libarchive/test test_read_format_gtar_sparse.c

Tim Kientzle kientzle at FreeBSD.org
Sat Aug 18 14:53:26 PDT 2007


kientzle    2007-08-18 21:53:25 UTC

  FreeBSD src repository

  Modified files:
    lib/libarchive       archive_read_support_format_tar.c 
    lib/libarchive/test  test_read_format_gtar_sparse.c 
  Log:
  This commit updates libarchive to be compatible with
  GNU tar 1.17's implementation of --posix --sparse,
  at the cost of losing compatibility with GNU tar 1.16.
  Fortunately, the 1.17 implementation actually makes sense,
  so the libarchive code is now a bit more straightforward
  than before.
  
  Background:  GNU tar 1.16 defined a new way to store
  sparse files in --posix archives.  Unfortunately,
  the implementation incorrectly inserted several
  blocks of null padding after each such entry.
  As a result, non-GNU tar implementations saw the
  archive as truncated after any sparse entry.
  This was fixed in GNU tar 1.17 at the cost of
  losing compatibility with GNU tar 1.16 for this
  new format (which is not the default, so hopefully
  rarely used).  Libarchive recently gained support
  for reading the GNU tar 1.16 formats; this commit
  updates it to read the GNU tar 1.17 variant instead.
  
  Approved by: re (ksmith for libarchive portion)
  Approved by: re (blanket for libarchive_test portion)
  MFC after: 5 days
  
  Revision  Changes    Path
  1.61      +63 -47    src/lib/libarchive/archive_read_support_format_tar.c
  1.6       +534 -133  src/lib/libarchive/test/test_read_format_gtar_sparse.c


More information about the cvs-src mailing list