Commit Graph

143 Commits

Author SHA1 Message Date
Tim Kientzle
512c45ef6c Fix -u with absolute paths (e.g., "tar -uf foo.tar /bar") by handling
pathname edits before comparing pathnames on disk to those in the archive.

Thanks to: Gareth Bailey, Lowell Gilbert
2005-09-24 21:19:57 +00:00
Tim Kientzle
2f3b67647f Detect Mac OS X's broken ACL library.
Thanks to: Diego "Flameeyes" Petten?
2005-09-24 21:17:47 +00:00
Tim Kientzle
c114cc6c3f Style fix: Correct a compiler warning from GCC 4
Thanks to: Divacky Roman
PR: bin/84993
2005-09-21 03:21:35 +00:00
Tim Kientzle
5d596ecb25 The bsdtar_warnc() reporting function requires the program name to be
set up before it is called, so move the progname initialization before
the first possible call to bsdtar_warnc().

Thanks to: Stanislav Sedov
PR: bin/83366
MFC after: 7 days
2005-08-02 03:02:55 +00:00
Ruslan Ermilov
ceeb3b43de Fixed troff warnings.
Approved by:	re (blanket manpages)
2005-06-27 07:37:01 +00:00
Tim Kientzle
cf220b45a5 Clarify some error messages. 2005-05-08 06:25:15 +00:00
Tim Kientzle
22ede7639d bsdtar now uses the "tree" package instead of "fts" for walking
directory heirarchies.
2005-04-24 05:53:37 +00:00
Tim Kientzle
6b14892866 Correct autoconf/automake invocation to work with devel/gnu-auto* from
ports.

Thanks to: Dag-Erling Sm?rgrav (des@)
2005-04-23 18:44:25 +00:00
Tim Kientzle
77e0f2287a Minor fix to the configure logic to properly detect ACL support. 2005-04-23 18:41:28 +00:00
Tim Kientzle
ecf6d502eb Overhaul getdate.y. In particular, remove minutes-based logic
(combine with existing seconds-based), treat '-' as punctuation rather
than a negative number indicator (eliminates several special cases),
use a single list of special words instead of several separate lists,
use table-driven abbreviation logic (eliminate duplicate word entries
and special-case abbreviation and plural handling).  The result is
shorter, simpler (judging from comments, earlier maintainers didn't
understand the special handling for "negative years"), handles more
cases (e.g., "tu" is now a recognized abbreviation for "tuesday",
"3rd" is now equivalent to "third") and it has 2 fewer shift/reduce
conflicts.
2005-04-23 18:38:32 +00:00
Murray Stokely
793a2b6ef1 Point users to tcsh(1) for information about shell globbing patterns,
rather than 'XXXX'.

MFC after:	1 week
2005-04-19 16:06:04 +00:00
Tim Kientzle
5450e56ba4 A very minor tweak to the handling of leading '/' characters. 2005-04-17 19:46:50 +00:00
Tim Kientzle
5b923e58db A number of fixes to the autoconf-generated build system. In
particular, acl support is no longer enabled on FreeBSD 4, acl support
should be correctly enabled on Linux, dirent.d_namlen should be
correctly detected on platforms that support it.

Thanks to: Greg Lewis, Juergen Lock, and Jaakko Heinonen
2005-04-17 19:43:37 +00:00
Tim Kientzle
71526784e9 Configure script needs to test for dirent.d_namlen.
Thanks to: Juergen Lock
2005-04-17 17:53:24 +00:00
Tim Kientzle
fec57dbcd5 Update "make distfile" to use newest automake/autoconf from ports.
Thanks to: Juergen Lock
2005-04-17 17:51:05 +00:00
Tim Kientzle
e90e8e4b97 Support path-rewriting options (including --strip-components) for both
extraction and creation.  While I'm here, fix a bug reported by Garrett
Wollman: when stripping the leading '/' from the path "/", don't produce
an entry with an empty name; produce "." instead.
2005-04-17 17:20:54 +00:00
David E. O'Brien
a89017c846 Add directory hierarchy copying example. 2005-03-28 18:18:44 +00:00
Tim Kientzle
1ca479296c Deorbit gtar, step 1: Remove WITH_GTAR knob.
"tar" is now always a synonym for "bsdtar".
  People who need gtar can access it as "gtar."

Approved by:	No objections on arch@
2005-03-20 20:38:46 +00:00
Tim Kientzle
fd51bae501 A handful of minor portability and style improvements. 2005-03-14 00:30:35 +00:00
Tim Kientzle
fbef37980b Style correction: one tab after #define. 2005-03-14 00:29:05 +00:00
Tim Kientzle
bab7b08353 Re-unbreak the distfile target.
Also, reduce the WARNS level to 5 since different build environments
end up using different Yacc skeletons.  The BSD one does not
predeclare yyparse, the FSF one does, so it's not really possible to
consistently enforce both -Wmissing-prototypes and -Wredundant-decls.
2005-03-13 23:49:53 +00:00
Tim Kientzle
0c83e61cd1 Fix a compile warning, fix the build. 2005-03-13 21:36:15 +00:00
Tim Kientzle
6f55523db7 "make depend" with .y files is trickier than it looks. <sigh> 2005-03-13 19:55:53 +00:00
Tim Kientzle
3e41208d6e Brain-o. Missing quote. 2005-03-13 19:44:19 +00:00
Tim Kientzle
d14c1502f0 Add --newer-ctime, --newer-mtime, --newer-ctime-than, and --newer-mtime-than
switches to support selecting files by time of modification.

Special thanks to: Steven M. Bellovin, Rich $alz, and Jim Berets,
	authors of the public-domain getdate.y date-parsing code.
2005-03-13 18:36:24 +00:00
Tim Kientzle
62a2ad1b03 Add --strip-components option, per bin/77666.
Thanks to: Sangwoo Shim
2005-03-13 04:12:30 +00:00
Tim Kientzle
b432e867aa Document the --null, --one-file-system, and -I options.
Clarify that -T can be used in 'x' mode as well as 'c' mode.
2005-02-18 19:19:45 +00:00
Ruslan Ermilov
6c7216df78 Sort sections. 2005-01-18 13:43:56 +00:00
Ruslan Ermilov
a866e17077 Added the EXIT STATUS section where appropriate. 2005-01-17 07:44:44 +00:00
Tim Kientzle
225ac9a3dd Add a fallback version of fnmatch() to the bsdtar
source code.  Include configure logic to pick up the
system one when it exists and use the fallback version
when it doesn't exist.  Set the default for FreeBSD
to use the system version.

With this, bsdtar should now be quite portable.
2004-12-22 06:08:04 +00:00
Tim Kientzle
4d7142130b GC an unused #include 2004-12-22 05:54:10 +00:00
Tim Kientzle
882aa4c9cd Fix -W long option handling.
In particular:
  -W excl=text
fails because "excl" is a prefix of both "exclude" and "exclude-from".  But,
  -W exclude=text
is okay because it matches "exclude" exactly.

Thanks to: Jose F Nieves
MFC after: 7 days
2004-12-22 03:38:28 +00:00
Tim Kientzle
e69591ddc3 Portability: the included fts.c should now
compile on many non-FreeBSD systems, including
Linux, Solaris, Darwin, etc.

Thanks to: many people who pointed out the same portability problem
2004-12-22 00:21:28 +00:00
Ruslan Ermilov
2f841e1a7b Use a relative symlinking so that "tar" also works in /stand. 2004-11-12 13:28:42 +00:00
Tim Kientzle
2a44183a72 FreeBSD does have uintmax_t, so it can correctly
print out very large file sizes.

Thanks to: Yar Tikhiy
2004-11-06 18:38:13 +00:00
Tim Kientzle
f52188fc8a Correct error handling on failed writes
to the archive.
2004-11-05 05:39:37 +00:00
Tim Kientzle
9969ea22ef getopt(3) prints an "unrecognized option" warning for me, so I
shouldn't print another.

MFC after: 15 days
2004-10-17 23:58:17 +00:00
Tim Kientzle
ce7691dcad Cosmetic goof: Use two spaces in "Jan 03 2004" but only one in "Jan 03 12:32"
MFC after: 15 days
2004-10-17 23:57:10 +00:00
Tim Kientzle
cb7f04cf39 Make -C and -T work correctly together.
MFC after: 3 days
Thanks to: Guy Helmer
2004-08-28 05:28:19 +00:00
Tim Kientzle
6eb25c6af2 Document the -O option's new behavior in the presence of -t.
MFC after: 3 days
2004-08-27 04:19:28 +00:00
Tim Kientzle
773d437982 Support -t -O as in gtar. Perversely enough, -O means "send to stderr"
when used with -t, "send to stdout" when used with -x.

Thanks to: Ryan Hamilton for pointing out this odd beast
MFC after: 3 days
2004-08-27 04:13:15 +00:00
Tim Kientzle
85c6c73a4d Permit -P to be combined with -t. (It's a no-op then, just as in gtar.) 2004-08-26 06:28:39 +00:00
Tim Kientzle
1ced550de7 Tell getopt to accept the (already-implemented) -I option. 2004-08-26 01:58:14 +00:00
Tim Kientzle
fc1f10af70 Make -I and --files-from be synonyms for -T 2004-08-13 07:23:02 +00:00
Tim Kientzle
b757c8251b gtar uses -F for another purpose, so bsdtar no longer treats it as a
synonym for --format.  Update the man page to reflect this.  While
I'm here, change the man page to document "tar" rather than "bsdtar,"
update some comments about -l compatibility and fix a few grammar nits.
2004-08-08 17:20:23 +00:00
Tim Kientzle
6fc954815f Better low-memory handling: If the link cache runs out of memory, just
throw out the whole thing and stop tracking links entirely.  That will
break all remaining hardlinks, but should free up enough memory to
let everything finish.
2004-08-08 06:36:03 +00:00
Tim Kientzle
991f1d87bb Move the smart chdir logic into a couple of utility functions in util.c.
Then use them to provide consistent -C support throughout the program.
Thanks to: Christoph Mallon
2004-08-08 05:50:10 +00:00
Tim Kientzle
dd1a40a3c0 It shouldn't be an error to specify the same mode twice: allow -cc but not -ct.
Thanks to: Christoph Mallon (whose proposed patch was actually
   simpler than what I ended up with)
2004-08-08 05:10:10 +00:00
Tim Kientzle
3387f49acb Another pointy-hat problem: PACKAGE_VERSION macro is set in
CFLAGS, it shouldn't be in bsdtar_platform.h.
Thanks to: Andrey Chernov for looking over my shoulder so much lately.
2004-08-08 04:36:32 +00:00
Tim Kientzle
5ccc2612d1 Minor portability fixes. bsdtar now compiles on Win32/cygwin, though
it doesn't yet seem to work entirely correctly.
2004-08-08 01:30:30 +00:00