delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2012/09/28/03:37:30

X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f
X-Recipient: djgpp-workers AT delorie DOT com
Date: Fri, 28 Sep 2012 09:21:27 +0200
From: Eli Zaretskii <eliz AT gnu DOT org>
Subject: Re: djtar and pax/posix headers
In-reply-to: <201209280053.02782.juan.guerrero@gmx.de>
X-012-Sender: halo1 AT inter DOT net DOT il
To: djgpp-workers AT delorie DOT com
Message-id: <83fw62hatk.fsf@gnu.org>
References: <201209280053 DOT 02782 DOT juan DOT guerrero AT gmx DOT de>
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> From: Juan Manuel Guerrero <juan DOT guerrero AT gmx DOT de>
> Date: Fri, 28 Sep 2012 00:53:02 +0200
> 
> At least the GNU tar program distributed with the linux distribution I use, has
> already as default format pax/posix as decribed in:
>   <http://pubs.opengroup.org/onlinepubs/009695399/utilities/pax.html#tag_04_100_13_02>
> This program produces tar archives that if extracted with djtar and other older
> tar programs clobbers the directory where the files are created with directories
> and files corresponding to the pax header data blocks.  This extra directories
> are called ./PaxHeader.NNNNN, where NNNNN stands for some number.  AFAIK the
> information stored in the pax headers are of no use for the plain DOS file
> system.

You are right.  The question is, does the untar program itself need
these headers to untar correctly?  (I don't know the answer.)  If it
doesn't, then skipping them is TRT.

> I have adjusted djtar to skip these headers together with the data
> blocks that may follow them.  Only the "normal" file header will be honored
> as it used to be.

Thanks, this is a welcome enhancement.

> If someone wants a tar program with full pax/posix support
> it will be better to port latest GNU tar or GNU pax than trying to implement
> this support in djtar.  I tested this patch with all formats produced by
> GNU tar 1.26.

If we are looking at enhancing our Tar support beyond djtar, I'd
suggest to look at libarchive and the bsdtar and bsdcpio programs in
there.  Unlike the current GNU Tar maintainers, who are quite
unfriendly to non-Posix platforms, libarchive is very friendly, and in
fact already supports a Windows port out of the box (well, almost: I
needed a few patches when I built it last year, which were readily
accepted by the maintainers).  The advantage of bsdtar is that it
supports every archive format out there, including xz, rpm, rar, 7z,
etc. etc. -- you name it, it's already there.  Another advantage is
that it performs all the compression/decompression internally, instead
of invoking external programs via unportable pipes, which is a real
win for DOS ports, where pipes are synchronous.

If someone wants to try a reasonably new port of bsdtar to Windows,
you can find the binaries here:

  http://sourceforge.net/projects/ezwinports/files/libarchive-3.0.3-w32-bin.zip/download

> AS usual suggestions, objections, comments are welcome.

I have only one question: should djtar display anything about the pax
headers it encounters?  (Maybe it already does; I didn't try the
patch.)

Thanks.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019