commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Spero (JIRA)" <>
Subject [jira] [Commented] (COMPRESS-400) It should be possible for users to create and access extra PAX headers to tar archives
Date Thu, 15 Jun 2017 16:28:00 GMT


Simon Spero commented on COMPRESS-400:

If you have xattrs in the file system, and you tar with - - xattrs set,
they get added with that header by Gnu tar. Libarchive uses a different
prefix but reads both. Gnu tar complains if the libarchive headers are set.

There's some Extra Extended magic for names and values that I didn't code
up, because there are two sets of hacks that aren't standardized, and it's
only really important when extracting to the fs, but I left the tech debt.
Also, not sure if I want to handle binary values, but ought to. Annoyed
enough fixing  bugs in the  star mode base256 stuff :)

On Thu, Jun 15, 2017, 12:08 PM Stefan Bodewig (JIRA) <>

> It should be possible for users to create and access extra PAX headers to tar archives

> ---------------------------------------------------------------------------------------
>                 Key: COMPRESS-400
>                 URL:
>             Project: Commons Compress
>          Issue Type: Improvement
>          Components: Archivers
>            Reporter: Simon Spero
>            Priority: Minor
> It is very useful to be able to add extra PAX headers to tar entries.  For example, a
tar file containing maven artifacts could have extra headers carrying the groupid, artifactid,
version, classifier, etc.  
> If the appropriate prefixes are used, these headers can be extracted to posix extended
attributes by gnu and bsdtar.
> This change requires adding a map to TarArchiveEntry to carry the extra headers, plus
modifications to the TarArchive*Stream to save unrecognized headers when reading, and to add
any extra headers when writing. 
> I have created a prototype implementation, but have not merged it into my fork of the
project.  I don't have full tests written, because I was using gnutar as an oracle.
>  I have also ignored the issue of writing values to standard headers like size, though
since the PAX specification states that doing things like setting size=100 (if the real size
is not in fact 100) is undefined, so I'm technically in compliance.  The temptation is  to
do what was asked, then on close pop up a "Were you sure?" dialog, but that's mean.  I guess
I could use this to set the appropriate entry fields if doing so makes sense, but the easiest
approach  is to block setting any headers that would be consumed by the tar implementation
when reading. 

This message was sent by Atlassian JIRA

View raw message