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 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 Precedence: bulk > From: Juan Manuel Guerrero > 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: > > 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.