Commit Graph

97 Commits

Author SHA1 Message Date
christos
c5d25686e0 PR/22995: Sergey Svishchev: If we are cd'ing around and we have directories
with relative paths, convert the directories to absolute paths, so that
restoring timestamps does not fail.
2006-04-16 16:20:21 +00:00
christos
6236eeb27a Don't free str; it is used in pat_add. Noted by: Kouichirou Hiratsuka 2006-04-14 16:57:01 +00:00
christos
a8846ec5ac Coverity CID 2734, 2731: Use after free; resource leak 2006-03-19 19:06:39 +00:00
christos
2ed09657c9 Coverity CID 345: Add missing free's. 2006-03-18 05:40:28 +00:00
dsl
cdec4ac10c Change all the 'return(x)' to 'return c'.
Makes some other searches I want to do a bit easier.
2006-02-11 10:43:17 +00:00
christos
b60b306ef2 Another missing mkdir() race pointed out by chuq. Factor out the mkdir code. 2005-09-16 16:48:18 +00:00
christos
0743a9e845 use stat and not lstat to detect if we have a directory. refactor the mkpath()
code.
2005-09-13 20:09:55 +00:00
christos
929821126f when creating directories, check if the failure occured because someone
else created the directory before we did to avoid races. From chuq.
2005-09-13 15:50:17 +00:00
christos
d7df71ba0e Don't compile in cpio usage, if we are SMALL. 2005-06-29 02:21:27 +00:00
lukem
aab85a0fd4 appease gcc -Wuninitialized 2005-06-01 15:25:51 +00:00
christos
a1484a9949 be more lenient on the comparison to argv[0] to determine our personality. 2005-05-15 02:04:30 +00:00
christos
8dcba5679e PR/30167: J.T. Conklin: NetBSD tar does not support GNU tar --no-recursion flag 2005-05-07 22:27:33 +00:00
christos
33cefcde7e PR/29005: Jesse Off: nbpax requires sys/mtio.h which doesn't exist on Interix
I added an ifdef called HAVE_MTIO_H and fixed the code to use it. It is
always defined now, but you can change this for Interix.
2005-05-01 02:59:28 +00:00
christos
13d863367b Pax longopts were not empty element terminated. 2005-04-24 03:39:26 +00:00
jmc
4dca8bd51e Fix from PR#29290. Properly terminate the cpio_longopts struct so an unknown
option doesn't run off the end and core dump
2005-02-10 17:48:33 +00:00
tron
addf1a0f97 Fix broken cpio(1) option handling:
- "cpio -i -t" should list the contents of a file, not extract it.
- Don't extract a file when only option "-d" is given.
Patch supplied by Paul Ripke in PR bin/26513.
2004-10-26 16:11:49 +00:00
jmc
79308267d4 For HOSTTOOL builds, just exclude the chroot support as it's not needed and
avoids having to platform check for fchroot(). Fixes PR#27336
2004-10-22 21:00:18 +00:00
dsl
8317fe1276 Add an option --chroot to tar. Causes it to chroot(".") before doing
an extract.  With -h this will cause existing absolute symlinks to be treated
as relative to the current directory.
Helps sysinst handle existing symlinks in the target system.
Remove 'L' from the usage (got spilt into 'h' and 'H' many moons ago)
Add 'S' to usage, and put into correct place in options list.
2004-10-17 18:49:55 +00:00
christos
4fbd9df224 PR/27212: Greg A. Woods: Accept "-C <dirname>" inside filelists in addition
to "-C\n<dirname>".
But we are not making it the default output option as the patch suggests.
2004-10-10 22:05:26 +00:00
christos
60cf19985c PR/19490: Julio Merino: Teach tar about --sparse, -S option.
Do it for cpio too.
2004-09-26 23:46:00 +00:00
christos
d6bc453dfc update the comment that documents the fields initialized in the array below. 2004-09-22 14:52:00 +00:00
jmc
b2f782612f Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
2004-06-20 22:20:14 +00:00
christos
08df9f4cb1 add -0 argument to handle nul separated file lists. 2004-06-19 02:27:00 +00:00
christos
5820cbfaf6 Welcome to WARNS=3 2004-05-11 17:12:26 +00:00
uebayasi
d59e9104ff Tar(1)'s -s option needs an argument. Correct option string (s -> s:).
Reported and tested by Tomoaki Imamura.
2004-02-20 05:16:54 +00:00
christos
e7827bbe92 recognize -k [--keep-old-files] short option. From hubertf. 2004-02-06 18:59:14 +00:00
jmmv
b635f565e7 Homogenize usage messages: make the 'usage' word all lowercase, as this seems
to be the most common practice in our tree.
2004-01-05 23:23:32 +00:00
jmmv
b9173dc41c Rewrite the loop in printflg(): if passing -Z to pax with syntax errors
(like executing "pax -Z" by itself), this caused a shr of 32 bits, which is
undefined behavior (C99) if the variable is 32 bits wide, too.  Also solves
a problem where the flgch array could be indexed out of bounds.

Thanks to uwe@ and lha@ for their suggestions... I just found the bug :p
2004-01-05 17:27:46 +00:00
lukem
171d653219 Overhaul how `build.sh tools' are used:
*	Rename "config.h" to "nbtool_config.h" and
	HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
	This makes in more obvious in the source when we're using
	tools/compat/config.h versus "standard autoconf" config.h

    *	Consistently move the inclusion of nbtool_config.h to before
    	<sys/cdefs.h> so that the former can provide __RCSID() (et al),
    	and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
	#if HAVE_NBTOOL_CONFIG_H
	#include "nbtool_config.h"
	#endif
to the top of the source files (for the general case).
2003-10-27 00:12:41 +00:00
fvdl
cf96462927 Don't pass an integer as NULL. 2003-10-21 02:08:14 +00:00
agc
ed6ed8e698 Move Keith Muller's code from a 4-clause to a 3-clause licence by removing
the advertising clause. Diffs provided in PR 22397 by Joel Baker, confirmed
to the board by Keith Muller.
2003-10-13 07:41:22 +00:00
agc
b5b2954259 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22249, verified by myself.
2003-08-07 09:05:01 +00:00
simonb
1301238ab7 Add support for gnutar's -O "extract to stdout" option. 2003-07-08 06:00:48 +00:00
christos
c8921f6410 PR/21064: Perry Metzger: Re-add -k to tar (--keep-old-files) 2003-04-08 15:13:10 +00:00
christos
a0dbdefc9c PR/20495: Soren Jacobsen: Add -j [bzip2] compression to tar. 2003-03-31 20:10:08 +00:00
wiz
e04df3a3d6 Add support for '-j' to create (and extract, but -z already did that)
bzip2 compressed tar files, for GNU tar compatibility.
Patch from Soren Jacobsen in PR 19467, okayed by christos.
Sync usage with options while here.
2003-02-25 13:36:59 +00:00
wiz
3ac7ce187d Fix various spelling, grammar, and punctuation problems in comments, from Sergey Svishchev in PR 20164. 2003-02-02 10:21:13 +00:00
wiz
0b76bcaac8 tar(1) has no -L any longer. 2003-01-19 01:13:46 +00:00
kristerw
7b4c88f831 Correct which _usage function to use for some pax/cpio error cases. 2003-01-15 21:56:46 +00:00
christos
a86cae9911 PR/19757: Andreas Wrede: make tar's -h behave like pax's -L 2003-01-09 17:26:21 +00:00
mrg
c3510d1409 add --exclude support.
XXX:  --exclude & --exclude-from are still not 100% compatible, but since
rafal fixed --exclude-from's most annoying bug, they mostly work now.
2002-12-08 01:35:12 +00:00
grant
3c0fae1fef void functions should not return a value. 2002-11-27 18:40:34 +00:00
christos
ff3d818d91 Handle -C\ndir\n in a file containing a file list. From Eric Gillespie. 2002-10-18 13:45:05 +00:00
christos
860d26c69b Fix DEFOP botch. DEFOP == LIST so tar -tvf stopped working. (hi soren) 2002-10-17 00:42:02 +00:00
soren
4ba08d1776 Tweak tar_usage(). 2002-10-16 23:37:49 +00:00
soren
af892f930e Have tar require a specific action as documented. 2002-10-16 23:22:59 +00:00
soren
f9d5774005 Sync cpio_usage() with cpio.1 as with pax and tar. 2002-10-16 22:38:36 +00:00
christos
169f625866 we need to have -force-local on pax. 2002-10-16 21:45:31 +00:00
christos
f830cb1865 turn gnu tar off by pax and cpio front ends. 2002-10-16 18:53:40 +00:00
christos
f70dfaaf73 Support gnu long filename extensions by default for tar on create, list, and
extract. We now generate GNU tar archives by default ("ustar  ^@" instead of
"ustar^@00"). GNU extensions can be disabled with --strict.

XXX: long symlinks untested.
2002-10-16 03:46:07 +00:00