head	1.7;
access;
symbols
	RELENG_9_1_0_RELEASE:1.6.2.2
	RELENG_9_1:1.6.2.2.0.2
	RELENG_9_1_BP:1.6.2.2
	RELENG_8_3_0_RELEASE:1.5.10.3
	RELENG_8_3:1.5.10.3.0.2
	RELENG_8_3_BP:1.5.10.3
	RELENG_9_0_0_RELEASE:1.6.2.1.2.1
	RELENG_9_0:1.6.2.1.0.2
	RELENG_9_0_BP:1.6.2.1
	RELENG_9:1.6.0.2
	RELENG_9_BP:1.6
	RELENG_7_4_0_RELEASE:1.5.14.1
	RELENG_8_2_0_RELEASE:1.5.10.1.6.1
	RELENG_7_4:1.5.0.14
	RELENG_7_4_BP:1.5
	RELENG_8_2:1.5.10.1.0.6
	RELENG_8_2_BP:1.5.10.1
	RELENG_8_1_0_RELEASE:1.5.10.1.4.1
	RELENG_8_1:1.5.10.1.0.4
	RELENG_8_1_BP:1.5.10.1
	RELENG_7_3_0_RELEASE:1.5.12.1
	RELENG_7_3:1.5.0.12
	RELENG_7_3_BP:1.5
	RELENG_8_0_0_RELEASE:1.5.10.1.2.1
	RELENG_8_0:1.5.10.1.0.2
	RELENG_8_0_BP:1.5.10.1
	RELENG_8:1.5.0.10
	RELENG_8_BP:1.5
	RELENG_7_2_0_RELEASE:1.5.8.1
	RELENG_7_2:1.5.0.8
	RELENG_7_2_BP:1.5
	RELENG_7_1_0_RELEASE:1.5.6.1
	RELENG_6_4_0_RELEASE:1.4.2.1.4.1
	RELENG_7_1:1.5.0.6
	RELENG_7_1_BP:1.5
	RELENG_6_4:1.4.2.1.0.4
	RELENG_6_4_BP:1.4.2.1
	RELENG_7_0_0_RELEASE:1.5
	RELENG_6_3_0_RELEASE:1.4.2.1
	RELENG_7_0:1.5.0.4
	RELENG_7_0_BP:1.5
	RELENG_6_3:1.4.2.1.0.2
	RELENG_6_3_BP:1.4.2.1
	RELENG_7:1.5.0.2
	RELENG_7_BP:1.5
	RELENG_6_2_0_RELEASE:1.4
	RELENG_6_2:1.4.0.8
	RELENG_6_2_BP:1.4
	RELENG_5_5_0_RELEASE:1.3.2.1
	RELENG_5_5:1.3.2.1.0.4
	RELENG_5_5_BP:1.3.2.1
	RELENG_6_1_0_RELEASE:1.4
	RELENG_6_1:1.4.0.6
	RELENG_6_1_BP:1.4
	RELENG_6_0_0_RELEASE:1.4
	RELENG_6_0:1.4.0.4
	RELENG_6_0_BP:1.4
	RELENG_6:1.4.0.2
	RELENG_6_BP:1.4
	RELENG_5_4_0_RELEASE:1.3.2.1
	RELENG_5_4:1.3.2.1.0.2
	RELENG_5_4_BP:1.3.2.1
	RELENG_5_3_0_RELEASE:1.3
	RELENG_5_3:1.3.0.4
	RELENG_5_3_BP:1.3
	RELENG_5:1.3.0.2
	RELENG_5_BP:1.3;
locks; strict;
comment	@# @;


1.7
date	2011.12.22.08.42.07;	author mm;	state dead;
branches;
next	1.6;

1.6
date	2011.07.17.21.27.38;	author mm;	state Exp;
branches
	1.6.2.1;
next	1.5;

1.5
date	2007.03.03.07.37.35;	author kientzle;	state Exp;
branches
	1.5.2.1
	1.5.6.1
	1.5.8.1
	1.5.10.1
	1.5.12.1
	1.5.14.1;
next	1.4;

1.4
date	2005.02.12.23.09.44;	author kientzle;	state Exp;
branches
	1.4.2.1;
next	1.3;

1.3
date	2004.08.04.06.19.31;	author kientzle;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	2004.07.12.01.54.37;	author kientzle;	state Exp;
branches;
next	1.1;

1.1
date	2004.02.09.23.22.53;	author kientzle;	state Exp;
branches;
next	;

1.6.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.6.2.1.2.1;
next	1.6.2.2;

1.6.2.2
date	2012.01.05.12.52.05;	author mm;	state dead;
branches;
next	;

1.6.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.6.2.1.2.2;

1.6.2.1.2.2
date	2012.11.17.08.36.16;	author svnexp;	state Exp;
branches;
next	;

1.5.2.1
date	2012.11.17.08.01.46;	author svnexp;	state Exp;
branches;
next	;

1.5.6.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.5.8.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.5.10.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.5.10.1.2.1
	1.5.10.1.4.1
	1.5.10.1.6.1;
next	1.5.10.2;

1.5.10.2
date	2011.08.01.07.59.02;	author mm;	state Exp;
branches;
next	1.5.10.3;

1.5.10.3
date	2012.01.05.12.57.14;	author mm;	state dead;
branches;
next	;

1.5.10.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.5.10.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.5.10.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.5.12.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.5.14.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.5.14.2;

1.5.14.2
date	2012.11.17.08.16.41;	author svnexp;	state Exp;
branches;
next	;

1.4.2.1
date	2007.07.05.01.56.39;	author kientzle;	state Exp;
branches
	1.4.2.1.4.1;
next	1.4.2.2;

1.4.2.2
date	2012.11.17.07.39.31;	author svnexp;	state Exp;
branches;
next	;

1.4.2.1.4.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.3.2.1
date	2005.02.25.05.10.23;	author kientzle;	state Exp;
branches;
next	;


desc
@@


1.7
log
@SVN rev 228797 on 2011-12-22 08:42:07Z by mm

Use contrib sources for building libarchive, tar and cpio.
Make "make test" fully operational.

MFC after:	2 weeks
@
text
@$FreeBSD: src/lib/libarchive/README,v 1.6 2011/07/17 21:27:38 mm Exp $

libarchive: a library for reading and writing streaming archives

This is all under a BSD license.  Use, enjoy, but don't blame me if it breaks!

Documentation:
 * libarchive.3 gives an overview of the library as a whole
 * archive_read.3, archive_write.3, and archive_write_disk.3 provide
   detailed calling sequences for the read and write APIs
 * archive_entry.3 details the "struct archive_entry" utility class
 * libarchive-formats.5 documents the file formats supported by the library
 * tar.5 provides some detailed information about a variety of different
   "tar" formats.

You should also read the copious comments in "archive.h" and the source
code for the sample "bsdtar" and "minitar" programs for more details.
Please let me know about any errors or omissions you find.

Currently, the library automatically detects and reads the following:
  * gzip compression
  * bzip2 compression
  * compress/LZW compression
  * lzma and xz compression
  * GNU tar format (including GNU long filenames, long link names, and
    sparse files)
  * Solaris 9 extended tar format (including ACLs)
  * Old V7 tar archives
  * POSIX ustar
  * POSIX pax interchange format
  * POSIX octet-oriented cpio
  * SVR4 ASCII cpio
  * Binary cpio (big-endian or little-endian)
  * ISO9660 CD-ROM images (with optional Rockridge or Joliet extensions)
  * ZIP archives (with uncompressed or "deflate" compressed entries)
  * GNU and BSD 'ar' archives
  * 'mtree' format

The library can write:
  * gzip compression
  * bzip2 compression
  * compress/LZW compression
  * lzma and xz compression
  * POSIX ustar
  * POSIX pax interchange format
  * "restricted" pax format, which will create ustar archives except for
    entries that require pax extensions (for long filenames, ACLs, etc).
  * POSIX octet-oriented cpio
  * SVR4 "newc" cpio
  * shar archives
  * ZIP archives (with uncompressed or "deflate" compressed entries)
  * GNU and BSD 'ar' archives
  * 'mtree' format

Notes:
 * This is a heavily stream-oriented system.  There is no direct
   support for in-place modification or random access and no intention
   of ever adding such support.  Adding such support would require
   sacrificing a lot of other features, so don't bother asking.

 * The library is designed to be extended with new compression and
   archive formats.  The only requirement is that the format be
   readable or writable as a stream and that each archive entry be
   independent.

 * On read, compression and format are always detected automatically.

 * I've attempted to minimize static link pollution.  If you don't
   explicitly invoke a particular feature (such as support for a
   particular compression or format), it won't get pulled in.
   In particular, if you don't explicitly enable a particular
   compression or decompression support, you won't need to link
   against the corresponding compression or decompression libraries.
   This also reduces the size of statically-linked binaries in
   environments where that matters.

 * On read, the library accepts whatever blocks you hand it.
   Your read callback is free to pass the library a byte at a time
   or mmap the entire archive and give it to the library at once.
   On write, the library always produces correctly-blocked
   output.

 * The object-style approach allows you to have multiple archive streams
   open at once.  bsdtar uses this in its "@@archive" extension.

 * The archive itself is read/written using callback functions.
   You can read an archive directly from an in-memory buffer or
   write it to a socket, if you wish.  There are some utility
   functions to provide easy-to-use "open file," etc, capabilities.

 * The read/write APIs are designed to allow individual entries
   to be read or written to any data source:  You can create
   a block of data in memory and add it to a tar archive without
   first writing a temporary file.  You can also read an entry from
   an archive and write the data directly to a socket.  If you want
   to read/write entries to disk, the archive_write_disk interface
   treats a directory as if it were an archive so you can copy
   from archive->disk using the same code you use for archive->archive
   transfers.

 * Note: "pax interchange format" is really an extended tar format,
   despite what the name says.
@


1.6
log
@SVN rev 224152 on 2011-07-17 21:27:38Z by mm

- Update libarchive to 2.8.4
- Add support for extracting xar and rpm archives
- Add libarchive_fe subdir (common code for tar and cpio)

Approved by:	kientzle
MFC after:	2 weeks
@
text
@d1 1
a1 1
$FreeBSD$
@


1.6.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.6.2.2
log
@SVN rev 229595 on 2012-01-05 12:52:05Z by mm

MFC r228797:
Use contrib sources for building libarchive, tar and cpio.
Make "make test" fully operational.
@
text
@d1 1
a1 1
$FreeBSD: src/lib/libarchive/README,v 1.6.2.1 2011/09/23 00:51:37 kensmith Exp $
@


1.6.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.6.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: releng/9.0/lib/libarchive/README 224152 2011-07-17 21:27:38Z mm $
@


1.5
log
@libarchive 2.0
  * libarchive_test program exercises many of the core features
  * Refactored old "read_extract" into new "archive_write_disk", which
    uses archive_write methods to put entries onto disk.  In particular,
    you can now use archive_write_disk to create objects on disk
    without having an archive available.
  * Pushed some security checks from bsdtar down into libarchive, where
    they can be better optimized.
  * Rearchitected the logic for creating objects on disk to reduce
    the number of system calls.  Several common cases now use a
    minimum number of system calls.
  * Virtualized some internal interfaces to provide a clearer separation
    of read and write handling and make it simpler to override key
    methods.
  * New "empty" format reader.
  * Corrected return types (this ABI breakage required the "2.0" version bump)
  * Many bug fixes.
@
text
@d24 1
d34 1
a34 1
  * ISO9660 CD-ROM images (with optional Rockridge extensions)
d36 2
d42 2
d49 1
d51 3
@


1.5.2.1
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: stable/7/lib/libarchive/README 167186 2007-03-03 07:37:37Z kientzle $
@


1.5.14.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.5.14.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: releng/7.4/lib/libarchive/README 167186 2007-03-03 07:37:37Z kientzle $
@


1.5.12.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.5.10.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.5.10.2
log
@SVN rev 224561 on 2011-08-01 07:59:02Z by mm

Sync libarchive with 9-CURRENT:

MFC on lib/libarchive:
196961,200351,201077,201079-201097,201099-201112,201155-201157,
201159-201163,201165,201167-201171,201246-201250,201253,202868-202869,
202871-202873,203952,208027,208169,208184,208263,208291,210825,213573,
214822,214867,214905,216258,221472,224152

MFC 196961 (kientzle):
Update tests to match r195873, which corrected how hardlinked files
on iso9660 images were returned.  While I'm poking around, update
some comments around this area to try to clarify what's going on and
what still remains to be improved.

MFC 200351 (kientzle):
Merge two cpio fixes from libarchive.googlecode.com:
 1) Avoid an infinite loop in the header resync for certain malformed
    archives.
 2) Don't try to match hardlinks if the nlinks count is < 2.   This
    reduces the likelihood of a false hardlink match due to ino truncation.

MFC 201077 (kientzle):
Update format manpages for libarchive.

MFC 201079 (kientzle):
Update the hard-coded configuration for libarchive.

MFC 201080 (kientzle):
Remove some unused variables and dead assignments.

MFC 201081 (kientzle):
Remove a dead assignment.

MFC 201082 (kientzle):
Catch certain gzip failures at close time.

MFC 201083 (kientzle):
Compatibility fix for some older systems with non-POSIX getgrnam_r/getpwnam_r
and a minor style fix for the hash function.

MFC 201084 (kientzle):
Sync with googlecode some changes that have no impact on FreeBSD.

MFC 201085 (kientzle):
Compatibility:  I found some more compilers that don't like 'inline' keyword.
Protection:  Discourage people from using this header outside libarchive.

MFC 201086 (kientzle):
Discourage people from using this header outside of libarchive.

MFC 201087 (kientzle):
Enforce this as an internal-only header.

MFC 201088 (kientzle):
Allow more formats to be active at a time; discourage outside use.

MFC 201089 (kientzle):
Portability: terminate abnormally via abort() instead of segfault,
watch the return value from write(), and avoid signed arithmetic on
unsigned values.

MFC 201091 (kientzle):
Remove dead assignment.

MFC 201092 (kientzle):
Discourage outside use of this internal header.

MFC 201093 (kientzle):
Portability:  Set the file descriptor to binary mode on Win32

MFC 201094 (kientzle):
Eliminate an unused assignment.

MFC 201095 (kientzle):
Remove an unused variable and an unnecessary increment.

MFC 201096 (kientzle):
Various portability fixes, plus:
 * New "ino64" field.
 * New UTF8 interfaces for hardlink/symlink updates

MFC 201097 (kientzle):
Portability fixes.

MFC 201099 (kientzle):
Use new ino64 interface.

MFC 201110 (kientzle):
Clarify an example so Linux folks won't keep getting confused by this
point.

MFC 201111 (kientzle):
Remove some dead assignments, fix some declarations.

MFC 201112 (kientzle):
Portability.

MFC 201155 (kientzle):
64-bit ino support and discourage bad use of this header.

MFC 201156 (kientzle):
Various style and portability fixes, including:
 * Enforce option interface can only be used before the archive is opened
 * Correctly handle large skips on platforms with 32-bit off_t
 * Use int64_t instead of off_t

MFC 201157 (kientzle):
Catch decompression failures earlier.  In particular, this gives
immediate feedback if we fail to fork an external decompression program.

MFC 201159 (kientzle):
Various fixes when creating objects on disk:
 * Write xattrs last instead of first (required on platforms that use
   system xattrs for security attributes)
 * Better handling of chdir() failures
 * Don't bother trying to shorten files via seek()/write()
 * Fix build on systems that lack link()/symlink()/mknod()
 * Prefer futimens()/utimensat() when they're present

MFC 201160 (kientzle):
Various style fixes to the 'newc' cpio writer:
 * Warn about truncation of ino
 * Use a macro to hide the somewhat obscure pad-to-multiple-of-4 calculation
 * Eliminate some unused variables

MFC 201161 (kientzle):
Style fixes to tar reader:
  For portability, prefer int64_t to off_t.
  Improve numeric overflow handling when parsing.
  Fix some variable types.
  Eliminate some unused results.

MFC 201162 (kientzle):
Style and portability fixes for pax writer.  Mostly very routine, except for:
 * Use ino64 where appropriate
 * Don't pass atime or nsec to ustar formatter

MFC 201163 (kientzle):
Be a little more skeptical of dev/ino matches when reading cpio files.
This eliminates some false-positives in the hardlink detection logic.

MFC 201165 (kientzle):
Minor style fixes plus a fix for an obscure crash on certain malformed
mtree files.

MFC 201167 (kientzle):
If we're linking against liblzma, allow the decompressor to use up to
1<<30 bytes of memory, which is required for some streams.

Also, try to make the taster more discriminating about raw lzma streams.
The detection here is still really weak, though; please use xz instead
of lzma.

MFC 201168 (kientzle):
Zip write support for libarchive.

The initial implementation was developed by Anselm Strauss as part of
Google Summer of Code 2008, then completed by Joerg Sonnenberger.

MFC 201169 (kientzle):
Clear extraneous error messages.

MFC 201170 (kientzle):
Essentially eliminate problems with false hardlinks in POSIX cpio
archives by generating synthetic ino values and mapping values
from disk into the new values.

MFC 201171 (kientzle):
Rationalize the support for cryptographic hashes.

MFC 201246 (kientzle):
Merge Michihiro NAKAJIMA's significant work on the ISO9660 reader
from googlecode:
 * Support for zisofs compressed entries
 * Support for relocated deep directories
 * Direct calculation of link counts for accurate nlink values
   even on images that lack Rockridge extensions
 * Faster handling of the internal file lists.
 * Better detection of ISO variants

MFC 201247 (kientzle):
A raft of test changes and improvements from the Googlecode repository.
In particular, this includes tests for the new features I've merged
over the last few days.

MFC 201248 (kientzle):
UU decoder.  Now that libarchive can recursively taste input streams,
you can do things like this:  tar xvf archive.tar.gz.uu

MFC 201249 (kientzle):
Libarchive in FreeBSD is now synced up with 2.7.901a from
libarchive.googlecode.com

MFC 201250 (kientzle):
Reserve constants for RPM unwrapper and XAR reader.

MFC 201253 (kientzle):
Remove some test files that are no longer used.

MFC 202868 (kientzle):
Fix a memory leak when a filter fails to initialize.

MFC 202869 (kientzle):
Initialize the allocated 'struct zip'.

MFC 202871 (kientzle):
If we can't stat a file, return the correct ARCHIVE_FAILED (this entry can't
be processed any further) and a suitable error string.
In particular, this improves the error-reporting when cpio -o is
given a nonexistent filename.

MFC 202872 (kientzle):
Use a simpler memory-management strategy for the file objects.
Instead of trying to reference-count them and free them as soon
as they are no longer needed, we now just keep them around and free
them all when we release the archive object.  This fixes a number
of minor memory leaks, especially when reading damaged archives.

MFC 202873 (kientzle):
Don't try to hardlink block or character device nodes that come out
of cpio archives.

MFC 203952 (uqs):
Add missing newline in last line of file.

Uncovered via:	fromcvs vs. svn

MFC 208027 (uqs):
mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the
bottom of the manpages and order them consistently.

GNU groff doesn't care about the ordering, and doesn't even mention
CAVEATS and SECURITY CONSIDERATIONS as common sections and where to put
them.

Found by:       mdocml lint run

MFC 208169 (kientzle):
Reorganize slightly in preparation for making lzma and bz2 support
conditional.

MFC 208184 (delphij):
Fix build.

MFC 208263 (kientzle):
Retry reads that fail with EINTR.  This fixes a problem
with bsdtar failing on SIGINT.

MFC 208291 (uqs):
mdoc: consistently spell our email addresses <foo@@FreeBSD.org>

MFC 210825 (joel):
Fix typo.

MFC 213573 (uqs):
mdoc: drop redundant .Pp and .LP calls

They have no effect when coming in pairs, or before .Bl/.Bd

MFC 214822 (kientzle):
Clarify the naming:  Methods that free an object should
be called "free".  Retain the old "finish" names to preserve
source compatibility for now.

MFC 214867 (uqs):
Fix manpage markup.

MFC 214905 (kientzle):
If the Zip reader doesn't see a PK signature block
because there's inter-entry garbage, just scan forward
to find the next one.  This allows us to handle a lot
of Zip archives that have been modified in-place.

Thanks to:	Gleb Kurtsou for sending me a sample archive

MFC 216258 (kientzle):
Don't write data into an empty "file."

In particular, this check avoids a warning when
extracting directory entries from certain GNU tar
archives that store directory contents.

MFC 221472 (obrien):
libarchive is mixing libmd and libcrypto -- correct to use one or the other.
[mixing the two can be quite bad -- they define the same context structures,
 but with differing structure members (and sizes)]

MFC 224152 (mm):
- Update libarchive to 2.8.4
- Add support for extracting xar and rpm archives
- Add libarchive_fe subdir (common code for tar and cpio)
@
text
@a23 1
  * lzma and xz compression
d33 1
a33 1
  * ISO9660 CD-ROM images (with optional Rockridge or Joliet extensions)
a34 2
  * GNU and BSD 'ar' archives
  * 'mtree' format
a38 2
  * compress/LZW compression
  * lzma and xz compression
a43 1
  * SVR4 "newc" cpio
a44 3
  * ZIP archives (with uncompressed or "deflate" compressed entries)
  * GNU and BSD 'ar' archives
  * 'mtree' format
@


1.5.10.3
log
@SVN rev 229596 on 2012-01-05 12:57:14Z by mm

MFC r228797:
Use contrib sources for building libarchive, tar and cpio.
Make "make test" fully operational.
@
text
@d1 1
a1 1
$FreeBSD: src/lib/libarchive/README,v 1.5.10.2 2011/08/01 07:59:02 mm Exp $
@


1.5.10.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.5.10.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.5.10.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.5.8.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.5.6.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.4
log
@Update the format descriptions to include ISO9660 and ZIP support.
Also remove some unnecessary blank lines from archive_read.3.
@
text
@d9 2
a10 2
 * archive_read.3 and archive_write.3 provide detailed calling
   sequences for the read and write APIs
d17 2
a18 2
code for the sample "bsdtar" program for more details.  Please let me know
about any errors or omissions you find.
d87 4
a90 2
   to read/write entries to disk, there are convenience functions to
   make this especially easy.
@


1.4.2.1
log
@MFC libarchive 1.9.

This is identical to libarchive 2.2.3 from -CURRENT, with
all of the performance improvements, bug fixes, and new
formats, except that:
  * archive_read_finish() and archive_write_finish() don't return errors
  * archive_write_data() has a different return type
  * user-provided skip callbacks have a slightly different signature

These differences maintain ABI compatibility with libarchive 1.3.1
(hence the "1" in "1.9") and allows libarchive 1.9 to have the
same SHLIB_MAJOR and otherwise serve as a straight replacement
for libarchive 1.3.1 (only better).

Thanks to:  Many, many people who contributed error reports, bug fixes,
  and suggestions over the last three years. ;-)
@
text
@d9 2
a10 2
 * archive_read.3, archive_write.3, and archive_write_disk.3 provide
   detailed calling sequences for the read and write APIs
d17 2
a18 2
code for the sample "bsdtar" and "minitar" programs for more details.
Please let me know about any errors or omissions you find.
d87 2
a88 4
   to read/write entries to disk, the archive_write_disk interface
   treats a directory as if it were an archive so you can copy
   from archive->disk using the same code you use for archive->archive
   transfers.
@


1.4.2.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: stable/6/lib/libarchive/README 171223 2007-07-05 01:56:41Z kientzle $
@


1.4.2.1.4.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.3
log
@Correct the names and descriptions of the man pages.
@
text
@d18 1
a18 2
about any errors or omissions you find.  (In particular, I no doubt missed
a few things when researching the tar.5 page.)
d33 2
@


1.3.2.1
log
@MFC: Sync libarchive with -CURRENT.

This brings a number of new features (iso9660 and ZIP support),
some important bug fixes and a number of documentation enhancements.

All in time for 5.4. ;-)
@
text
@d18 2
a19 1
about any errors or omissions you find.
a33 2
  * ISO9660 CD-ROM images (with optional Rockridge extensions)
  * ZIP archives (with uncompressed or "deflate" compressed entries)
@


1.2
log
@Update the README notes to include the current list of supported
formats and remove some outdated comments about library limitations.
@
text
@d12 3
a14 1
 * tar.5 documents the "tar" file formats supported by the library
@


1.1
log
@Initial import of libarchive.

What it is:
   A library for reading and writing various streaming archive
   formats, especially tar and cpio.  Being a library, it should
   be easy to incorporate into pkg_* tools, sysinstall, and any
   other place that needs to read or write such archives.

Features:
  * Full automatic detection of both compression and archive format.
  * Extensible internal architecture to make it easy to add new formats.
  * Support for "pax interchange format," a new POSIX-standard tar format
    that eliminates essentially all of the restrictions of historic formats.
  * BSD license

Thanks to: jkh for pushing me to start this work, gordon for
  encouraging me to commit it, bde for answering endless style
  questions, and many others for feedback and encouragement.

Status: Pretty good overall, though there are still a few rough edges and
  the library could always use more testing.  Feedback eagerly solicited.
@
text
@a6 3
As of February, 2004, the library proper is fairly complete and compiles
cleanly on FreeBSD 5-CURRENT.  The API should be stable now.

d8 2
a9 2
 * libarchive(3) gives an overview of the library as a whole
 * archive_read(3) and archive_write(3) provide detailed calling
d11 2
a12 2
 * archive_entry(3) details the "struct archive_entry" utility class
 * tar(5) documents the "tar" file formats supported by the library
d17 25
a41 1
a few things when researching the tar(5) page.)
d52 21
a72 24
   independent.  For example, zip archives can't be written as a
   stream because they require the compressed size of the data as part
   of the file header.  Similarly, some file attributes for zip
   archives can't be extracted when streaming because those attributes
   are only stored in the end-of-archive central directory and thus
   aren't available when the corresponding entry is actually
   extracted.

 * Under certain circumstances, you can append entries to an archive
   by opening the file for reading, skimming to the end of the archive,
   noting the file location, then opening it for write with a custom write
   callback that seeks to the appropriate position before writing.  Be
   sure to not enable any compression support if you do this!

 * Compression and blocking are handled implicitly and, as far as
   possible, transparently.  All archive I/O is correctly blocked, even if
   it's compressed.  On read, the compression format is detected
   automatically and the appropriate decompressor is invoked.

 * It should be easy to implement a system that reads one
   archive and writes entries to another archive, omitting
   or adding entries as appropriate along the way.  This permits
   "re-writing" of archive streams in lieu of in-place modification.
   bsdtar has some code to demonstrate this.
a85 20

 * Read supports most common tar formats, including GNU tar,
   POSIX-compliant "ustar interchange format", and the
   shiny-and-improved POSIX "pax extended interchange format."  The
   pax format, in particular, eliminates most of the traditional tar
   limitations in a standard way that is increasingly well supported.
   (GNU tar notably does not support "pax interchange format"; the
   GPL-licensed 'star' archiver does, however.)  GNU format is only
   incompletely supported at this time; if you really need GNU-format
   sparse file support, volume headers, or GNU-format split archives,
   let me know.

   There's also support for a grab-bag of non-tar formats, including
   POSIX cpio and shar.

 * When writing tar formats, consider using "pax restricted" format
   by default.  This avoids the pax extensions whenever it can, enabling
   them only on entries that cannot be correctly archived with ustar
   format.  Thus, you get the broad compatibility of ustar with the
   safety of pax's support for very long filenames, etc.
@

