[
https://issues.apache.org/jira/browse/COMPRESS-400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16050726#comment-16050726
]
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) <[email protected]>
> It should be possible for users to create and access extra PAX headers to tar
> archives
> ---------------------------------------------------------------------------------------
>
> Key: COMPRESS-400
> URL: https://issues.apache.org/jira/browse/COMPRESS-400
> 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
(v6.4.14#64029)