Bug#309899: ITP: libarchive -- functions for reading and writing streaming archives
I intent to package libarchive, a library for reading and writing archives.
It seems to be quite robust and especially allows for special read functions
(as I want to use it to read tar archives inside of ar archives without
To cite the manpage:
The libarchive library provides a flexible interface for reading and
writing streaming archive files such as tar and cpio. The library is
inherently stream-oriented; readers serially iterate through the archive,
writers serially add things to the archive. In particular, note that
there is no built-in support for random access nor for in-place modifica-
When reading an archive, the library automatically detects the format and
the compression. The library currently has read support for:
o old-style tar
o most variants of the POSIX ``ustar'' format,
o the POSIX ``pax interchange'' format,
o GNU-format tar archives,
o POSIX octet-oriented cpio archives.
The library automatically detects archives compressed with gzip(1),
bzip2(1), or compress(1) and decompresses them transparently.
Copyright headers are:
* Copyright (c) 2003-2004 Tim Kientzle
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer
* in this position and unchanged.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
though it might also contain similary licensed code from other authors (freebsd libc),
which I will have to look at still.
Source is at http://people.freebsd.org/~kientzle/libarchive/src/libarchive-1.02.023.tar.gz
some more information is found at http://people.freebsd.org/~kientzle/libarchive/
Bernhard R. Link