Dean Roehrich <Dean.Roehrich at sun.com> wrote:

> Detail:
>
>       The SAM-QFS daemons 'sam-stagerd' and 'sam-arcopy' are currently
>       reading and writing a tape format that is a slightly modified version
>       of a format used by a very old version of GNU tar.  The older GNU tar
>       format was modified for SAM-QFS because it didn't satify the project's
>       needs for file size and long file names.
>
>       The SAM-QFS team would like to modify these daemons to read and write
>       a pax compliant tar format, as described in [1].
>
>       The default behavior will call for 'sam-arcopy' to continue writing
>       the old-style tar format.  The new format can be selected by setting a
>       new 'tar_format = posix' option in the existing SAM-QFS config file,
>       /etc/opt/SUNWsamfs/defaults.conf.

Be very careful when copying POSIX.1-2001 implementation details from newer 
GNU tar implementations. 

1)      The current POSIX archive format (ustar + POSIX.1-2001 extended 
        headers) is called "pax" and not "posix".

2)      GNU tar's archive format extensions are not "stable" as they are 
        frequently changed without notice in an self-incompatible way (see e.g.
        below for GNU tar sparse extensions).

3)      GNU tar in many implementation details does not completely follow the 
        POSIX "pax" standard. 

                GNU tar sparse extensions did for some time completely disregard
                the POSIX rules for extended tar headers. After I noticed this
                and made a bug report, the format later has been changed in an 
                incompatible way. The new format is still sub-optimal and in 
                addition hard to implement inside a double buffered tar 
                implementaion such as star(1).

4)      Some GNU tar extensions are implemented in a way that could easily eat
        up a nearly unlimited amount of memory given the "right" constraints.

5)      GNU tar's multi-volume extensions often fail to read multi-volume 
        archives created by GNU tar. They cannot be implemented in double 
        buffered tar implementations such aass star(1).

6)      GNU tar's archive format is not documented in a way sufficient way.


If you are looking for POSIX.1-2001 extensions that are defined in a 
POSIX.1-2001 compliant way and that stay stable/compatibly-evolving, have a 
look at:

http://cdrecord.berlios.de/old/private/man/star/star.4.html

J?rg

-- 
 EMail:joerg at schily.isdn.cs.tu-berlin.de (home) J?rg Schilling D-13353 Berlin
       js at cs.tu-berlin.de                (uni)  
       schilling at fokus.fraunhofer.de     (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily

Reply via email to