Commit Graph

322 Commits

Author SHA1 Message Date
Tim Kientzle
37ba5a9b14 If a file is specifically both included and excluded, then:
* It is not extracted (because it is excluded)
 * If it's not present in the archive, then an error is
   reported (because the file was requested and not found)
 * If it is present in the archive, no error is reported.
Previously, this would always report an error because the
exclusion prevented the entry from matching the inclusion.

Also, tar is now more reluctant to report unmatched inclusions.
Previously, "tar x file1 'file*'" against an archive that contained a
single entry "file1" would match file1 and then report an error for
the second pattern because it wasn't matched.  It now considers both
inclusions to be matched and reports no error.
2010-04-11 18:44:42 +00:00
Tim Kientzle
43c3bf3cc6 Diff reduction against bsdtar 2.8.3 2010-04-11 16:28:10 +00:00
Tim Kientzle
7620c81bc7 Diff reduction against bsdtar 2.8.3 2010-04-11 16:27:38 +00:00
Tim Kientzle
086b6e8e54 Fix -X. 2010-04-11 01:36:10 +00:00
Tim Kientzle
f5f9acdd61 Consistently specify O_BINARY when opening files. 2010-04-11 01:32:30 +00:00
Tim Kientzle
408af9ef60 Remove an unnecessary include and conditionalize some code. 2010-04-11 01:31:50 +00:00
Tim Kientzle
5ff156d14e Correct the markup for the -s option,
document the iso9660:rockridge and mtree:indent options
2010-04-11 01:30:15 +00:00
Ulrich Spörlein
63d46d1d5e Fix several typos in macros or macro misusage.
Found by:	make manlint
Reviewed by:	ru
Approved by:	philip (mentor)
2010-03-12 10:01:06 +00:00
Ruslan Ermilov
bee10047c0 Fixed dependencies (make checkdpadd). 2010-02-25 20:24:19 +00:00
Ulrich Spörlein
8fa03d08ca Fix common misspelling of hierarchy
Pointed out by:		bf1783 at gmail
Approved by:		np (cxgb), kientzle (tar, etc.), philip (mentor)
2010-02-20 10:19:19 +00:00
Tim Kientzle
0086085a03 Simplify, remove unnecessary code. 2010-02-07 02:04:58 +00:00
Tim Kientzle
3b7dbff339 Merge a bunch of refactoring from Joerg Sonnenberger to
isolate common code used by tar and cpio (and useful to other
libarchive clients).  The functions here are prefixed with
"lafe" (libarchive front-end) to indicate their use.
2010-02-07 02:00:26 +00:00
Tim Kientzle
bb2f2a4024 Style & Portability: Use archive_entry methods to examine
file information, change some functions to static, remove
some unused headers.
2010-02-07 01:35:28 +00:00
Tim Kientzle
37ae97d43e Various portability workarounds for non-FreeBSD platforms. 2010-02-07 01:26:45 +00:00
Tim Kientzle
1ce4beea44 Restructure the logic that determines when we're crossing a mount
point.  In particular, this carves out a place for detecting and
excluding synthetic or network filesystems.
2010-02-07 01:22:55 +00:00
Tim Kientzle
95332e994e Minor code rework. 2010-02-07 01:16:05 +00:00
Tim Kientzle
2d9fd7eea6 Trim out some unused configuration variables, remove
some unused headers, etc.
2010-02-07 01:07:58 +00:00
Tim Kientzle
d180e2b3d4 Fill in some missing error handling, be a little more careful about
error reporting, prefer int64_t to off_t.
2010-02-06 20:41:25 +00:00
Tim Kientzle
c92560005d bsdtar doesn't actually know what compression is supported by libarchive
and it should not pretend that it does.  It should just pass along the
user's request and handle an error if it's not supported.
2010-02-06 20:36:14 +00:00
Tim Kientzle
12d4db7c3f Refactor the siginfo/sigusr1 handling. The read/write reporting
is sufficiently different that it was simpler to just put separate
reporting functions into read.c and write.c rather than try to have
a single all-purpose reporting function.
Switch to a custom function for converting int64_t to a string; in
the portable version, this saves a lot of configuration headaches
trying to decipher the platform printf().
2010-02-06 20:27:36 +00:00
Tim Kientzle
82fb15c15a Remove all traces of an experiment for handling "root" on Windows systems. 2010-02-06 19:56:32 +00:00
Tim Kientzle
2be336325b Reformat the Makefile slightly. 2010-02-06 19:53:48 +00:00
Tim Kientzle
67d6d61952 Allow -b up to 8192. I've had reports from people who routinely
use -b 2048 (1MiB block size).  Setting the limit to 8192 should
allow some room for growth while still helping people who mistakenly
put in byte counts here instead of block counts.
2010-02-06 19:48:59 +00:00
Tim Kientzle
ae41a0ad92 Diff reduction compared to portable bsdtar 2.8: Move the
program name into a global, which eliminates an extra
argument from a lot of places.
2010-02-06 19:44:37 +00:00
Ed Schouten
b7946da96b Build usr.bin/ with WARNS=6 by default.
Also add some missing $FreeBSD$ to keep svn happy.
2010-01-02 10:27:05 +00:00
Xin LI
821df508e8 Revert most part of 200420 as requested, as more review and polish is
needed.
2009-12-13 03:14:06 +00:00
Xin LI
6f2d322192 Remove unneeded header includes from usr.bin/ except contributed code.
Tested with:	make universe
2009-12-11 23:35:38 +00:00
Pawel Jakub Dawidek
b61d9eabb4 Make sure to use up-to-date libarchive header files from source tree when
compiling tar and not the ones from /usr/include/.

Reviewed by:	kientzle
Approved by:	kientzle
2009-09-07 06:37:44 +00:00
Tim Kientzle
79cf3de423 Make -lcrypto usage dependent on whether or not we're building with OpenSSL. 2009-04-18 06:03:09 +00:00
Tim Kientzle
5191e7b552 Merge remaining changes from libarchive.googlecode.com:
* Add xz and lzma compression options
 * Rename --format-options to simply --options
 * Add --same-owner for GNU tar compat
 * Add -lmd and -lcrypto to fix link
 * Documentation
2009-04-17 03:45:15 +00:00
Tim Kientzle
4e350e9d6b Set options before opening the archive.
Catch and report close-time errors.
2009-04-17 03:40:40 +00:00
Tim Kientzle
6ffa10bc90 Minor portability improvement in calls to ctype.h macros. 2009-04-17 03:37:09 +00:00
Tim Kientzle
c7e120041d Merge from libarchive.googlecode.com: Numerous Windows-specific build tweaks. 2009-04-17 03:36:07 +00:00
Tim Kientzle
05fa9d9f25 Update version to 2.6.901a to indicate this is synced up with r745 of
libarchive.googlecode.com (except for the lzma/xz support).
2009-03-08 06:20:35 +00:00
Tim Kientzle
abe5b073f4 Merge r492 from libarchive.googlecode.com: First cut at exposing the
new options mechanism to userland.  Documentation pending...
2009-03-08 06:19:28 +00:00
Tim Kientzle
ebf7581e4d Match a comment to reduce differences with libarchive.googlecode.com. 2009-03-08 06:09:20 +00:00
Tim Kientzle
66c8431841 Merge r709,r710 from libarchive.googlecode.com: More work on
Windows support.
2009-03-08 06:07:35 +00:00
Tim Kientzle
ac90bcdea0 Merge r687-689,691,693-701,720 from libarchive.googlecode.com:
Translate getdate.y into C for portability.  Make the get_date()
function easier to test as well:
 * Have it accept a time_t "now" to use as a reference so that test
   code can verify relative time specifications against known starting
   points.
 * Set up default date after parsing the string so that we
   can use the specified timezone (if any) instead of the local
   default.  Otherwise, local DST makes it almost impossible to
   reliably test time specifications such as "sunday UTC"
2009-03-08 06:03:15 +00:00
Tim Kientzle
74d5acaf4c Merger r629-631,633-646,648,654,678,681,682 from libarchive.googlecode.com:
Many changes for Windows compatibility.  bsdtar_test now runs successfully
on both POSIX platforms and Windows.
2009-03-08 05:47:21 +00:00
Tim Kientzle
503c6aa1ca Merge r368,496,625,626 from libarchive.googlecode.com: A number of
style and portability tweaks to the test harness.  Most significantly,
don't use getopt().
2009-03-08 05:38:45 +00:00
Tim Kientzle
97c382f46b Merge r622 from libarchive.googlecode.com: Avoid warning on platforms
that lack regex.h.
2009-03-08 05:35:59 +00:00
Tim Kientzle
a16b186182 Merge r552,r559 from libarchive.googlecode.com: High-resolution time
support on Tru64, AIX, and GNU Hurd, thanks to Björn Jacke.
2009-03-08 05:34:20 +00:00
Tim Kientzle
709693c65a Merge r529 from libarchive.googlecode.com: Fix how we read ext2fs_fs.h
headers on Linux.
2009-03-08 05:28:52 +00:00
Tim Kientzle
88b0df8855 Merge r435,r443 from libarchive.googlecode.com: Let the compiler options
determine how to read config.h.
2009-03-08 05:24:37 +00:00
Tim Kientzle
3ae673ed49 Merge r283,r423 from libarchive.googlecode.com: Use libarchive's new
archive_read_disk API to pull metadata off of disk.  This
removes a lot of platform-specific knowledge of things like
ACLs, file flags, and extended attributes from bsdtar.
2009-03-08 05:22:50 +00:00
Tim Kientzle
e8f0b45249 Merge r374 from libarchive.googlecode.com: Stupid typo in open() call. <sigh> 2009-03-08 05:19:36 +00:00
Tim Kientzle
c9dae218f2 Merge r369 from libarchive.googlecode.com: Test -s option. 2009-03-08 05:17:58 +00:00
Tim Kientzle
5ff33ec7ae Merge r278 from libarchive.googlecode.com: Reduce the number of
patterns tested here from 200 to 170, which seems to be the
most that Cygwin can handle.
2009-03-08 05:14:16 +00:00
Tim Kientzle
7bae205d49 Merge r273 from libarchive.googlecode.com: Use open() correctly. 2009-03-08 05:10:51 +00:00
Tim Kientzle
f64d4bd0f7 Fix multiple -s options.
MFC after:	7 days
2009-02-08 22:04:17 +00:00