Sunday, October 7, 2007

LZMA, streaming API, -tv support

There have been a lot of developmental changes to xar lately, the highlights being:
1) LZMA support, added by Anders Björklund of the RPM5 project. LZMA support depends on the currently beta LZMA utils library, which is under GPL. LZO support was investigated, although the current LZO library is under GPL.
2) A new streaming API has been added, allowing the caller to extract a file's data in chunks rather than requiring it to exist entirely in memory or on disk. This functionality was added by Charles Srstka, author of Pacifist.
3) -tv support in the xar(1) command line utility now outputs in a format similar to tar, displaying file mode, owner, group, size, and name.
4) A number of other bugs were fixed, and minor features added, including a --keep-existing option, and the options k, j, and z added for compatibility with tar, the various compression modules were cleaned up, and some bugs with malformed archives were resolved.

All of these changes can be found in trunk of xar's subversion repository.