[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: tar and busybox



On Sat, 21 Feb 2004 03:30:18 +0100
Michael Banck <mbanck@debian.org> wrote:

> To my knowledge, the behaviour change was reverted in tar-1.13.92-5,
> so it does not seem necessary to change busybox tar:
> 
> tar (1.13.92-5) unstable; urgency=low
>  
>   * patch from Paul Eggert to revert bogus behavior where
>   POSIXLY_CORRECT
>     set in the environment forced 'pax' format archives, closes:
>     #230872
> 
> http://mail.nongnu.org/archive/html/bug-tar/2004-02/msg00014.html

There are two issues.

1) when GNU tar creates archives using the "posix" tar format it uses
pax extensions, the busybox-cvs package doesnt understand these headers
at all, i have modified upstream busybox to spit out an obvious message
when it enconters these.


2) when GNU tar creates archives using the "ustar" tar format (and also
"gnu" format i think) it no longer sets the filetype in tar's mode
field, it only sets it in the filetype field.

The ustar mode field is specified to be 8 octal charcters stored in
ascii, it only specifies what will be in 4 of these characters.

The 12 least significant bits of a files mode as returned by stat
(rwsrwsrwx) are specified as being stored in this field

The spec doesnt say what should or shouldnt be in other 4 bytes, GNU tar
used to store the files mode in the 5th charcter, it was very convenient
as the full mode as seen by stat() was stored in one place.

Previous version of busybox tar used to depend on this 5th byte being
filled in, it would only set the files mode from the tar filetype field
if OLDGNU compatability was enabled.

The new version of tar is more strictly in compliance with the spec, but
the old way was much more convenient, i guess it must be a portability
issue.

I have fixed busybox tar in upstream cvs so it should be able to extract
ustar archives created with the current version of tar.


A couple of handy references are

ustar interchange format as described by the opengroup.
http://www.opengroup.org/onlinepubs/007904975/utilities/pax.html#tag_04_100_13_06

S tar docuentation, man star(4) is also good.
http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/man/star.4.html



Glenn







Reply to: