I checked the GNU tar mailing list archives, and it seems that there has never been a similar bug report mentioned involving either star or BSD tar. If we've got a test case and a workaround, at least the next intrepid person who searches the bug-tar archives can find this info. :-)


-------- Original Message --------
Subject: bug in BSD tar?
Date: Mon, 28 May 2007 21:49:37 +0100
From: Steven Hartland <[EMAIL PROTECTED]>

When compressing files with specific filenames it appears that BSD
tar is creating invalid archives which when handed to gnutar to
expand it errors with the following:
tar -xvzf test.tar.gz
tar: Ignoring unknown extended header keyword `SCHILY.dev'
tar: Ignoring unknown extended header keyword `SCHILY.ino'
tar: Ignoring unknown extended header keyword `SCHILY.nlink'
tar: Error exit delayed from previous errors

This archive contains just a single file with no special
attributes yet BSD seems to be doing something strange due
to the filename only.

The following is the out of the filename using ls and find:
[EMAIL PROTECTED]:music> ls -l cantiquede*
-rw-r--r--  1 user  group  1766066 Feb  8 20:54 cantiquedeno?l1_loop.wav
[EMAIL PROTECTED]:music> find . -name can\*

I've tested creating the tar with gtar and all is well when
expanded so I can only conclude at this point that BSD is
broken in some way by this strange filename.

tar --version
bsdtar 1.01.020, libarchive 1.02.006
Copyright (C) 2003-2004 Tim Kientzle

[ ..thread continues... ]

Colin Percival <[EMAIL PROTECTED]> wrote:
[ ... ]
GNU tar is broken.  POSIX specifically allows for vendor extensions (such
as the SCHILY.* extensions which were introduced by star), and the correct
way to handle them is by printing a warning message, ignoring the extension,
and not treating it as an error.

You can work around gtar's breakage by explicitly telling it to ignore these
options via --pax-option="delete=SCHILY.*" .

Reply via email to