Commit Graph

280 Commits

Author SHA1 Message Date
christos d1a05abed1 Revert previous change, and fix the -T problem differently: When the options
of the second argument are exhausted, call the appropriate getopt() routine
to process the rest of the arguments instead of finishing option processing.
Fixes:
	tar cf - -T foo
2003-06-24 16:23:31 +00:00
grant a47ed375c9 backout previous; it was a missing prototype elsewhere.
noted by mrg.
2003-06-24 08:27:30 +00:00
grant 8560ab3c2b add cast to fix an integer -> pointer warning. 2003-06-24 06:41:51 +00:00
grant d884498b98 no need for HAVE_LCHOWN and HAVE_LCHMOD anymore. 2003-06-23 13:33:15 +00:00
christos 051ff2c46c Simplify the way we deal with old argument style. Old way was broken when
tar cf - -T dir
2003-06-23 13:15:15 +00:00
christos 6ebfa08f43 spelling 2003-06-23 13:14:43 +00:00
grant 9432809ee1 consistently use "cannot" instead of "can not". 2003-06-23 13:06:53 +00:00
lukem 826a14607a Now that <bsd.prog.mk> DTRT if HOSTPROG is defined (i.e, it is a no-op),
there's no need to special-case .include-ing it.
2003-05-18 07:57:31 +00:00
lukem 17887a5d2c #ifdef HOSTPROG then explicitly use {major,minor,makedev}_netbsd
macros from pack_dev.h instead of the native versions.
Fixes [toolchain/20051] by Valeriy E. Ushakov.
2003-05-09 01:09:13 +00:00
itojun f703f13276 use sizeof for safety 2003-05-09 00:56:56 +00:00
wiz dcc13ddb7d Some grammar and punctuation fixes from jmc@openbsd. 2003-05-01 13:50:58 +00:00
christos d0fa76e947 PR/21253: Manuel Bouyer: cpio should never descend on a directory; even on
the first one.
2003-04-21 22:10:10 +00:00
christos c59371a05d PR/6195: Matt Watson: Pax fails for paths of exactly 100 characters.
make sure that we don't strlcpy more than the source buffer.
2003-04-20 21:41:52 +00:00
wiz 99193808f4 Bump date for last. 2003-04-16 12:41:36 +00:00
grant 900b115e8d some mdoc fixes. 2003-04-10 06:07:40 +00:00
christos c8921f6410 PR/21064: Perry Metzger: Re-add -k to tar (--keep-old-files) 2003-04-08 15:13:10 +00:00
wiz 6457ab4776 Remove sentence describing pax's -X option. From Jim Bernard in PR 21009. 2003-04-04 19:19:43 +00:00
christos 051306e25d PR/18959: Xavier HUMBERT: Don't pay attention to sockets in gnu-tar mode. 2003-03-31 20:30:28 +00:00
christos 00e1c042e9 Detect and report end of archive properly ala' gnu tar. 2003-03-31 20:24:52 +00:00
christos a0dbdefc9c PR/20495: Soren Jacobsen: Add -j [bzip2] compression to tar. 2003-03-31 20:10:08 +00:00
christos 2cdcd6cab2 RP/8227: Peter Seeback: Emulate old gnu tar better. 2003-03-31 20:06:33 +00:00
christos b399e96d11 No other program prints errors inside angle brackets! 2003-03-04 19:19:25 +00:00
grant 8a22d7d46d call setprogname() 2003-03-03 11:42:36 +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 43c2fa4e77 New sentence, new line. 2003-02-25 13:30:07 +00:00
wiz 990562bfef .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
2003-02-25 10:34:36 +00:00
lukem 68df873854 When writing (-w) or copying (-rw), and using -M (stdin file list is
mtree(8) specfile), compare the "post write/copy" mtime against the
actual "pre write/copy" mtime instead of the mtime from the specfile.

This prevents warnings such as:
	pax: File ./foo was modified during copy to archive
if the file's mtime in the file system is different to what's in the specfile.
(The resultant file will still get the specfile mtime ...)
2003-02-21 01:25:11 +00:00
grant 021cc73e29 add missing braces.
from HIRATSUKA Kouichirou in PR bin/20276.
2003-02-10 07:49:57 +00:00
grant d1391f9f9d cosmetic error condition improvements.
- sprinkle some fflush() to print filenames correctly.
- print a \n to stdout to fix formatting.
- English, consistently use "Cannot" in error messages.

some whitespace cleanup.
2003-02-09 18:27:10 +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
simonb 276fd1665c The Double-Semi-Colon Police. 2003-01-20 05:29:53 +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 096c9d6313 remove debugging printf's I accidentally committed. 2003-01-09 18:24:08 +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
christos e1a41a0e25 print a bit more info about checksum mismatches. 2003-01-09 17:22:26 +00:00
wiz 1035faff1d writable, not writeable. 2003-01-06 20:30:28 +00:00
wiz 5673b28631 Whitespace nits. 2002-12-28 21:15:24 +00:00
kleink 1bb01b56ab Catch up with gen_subs.c rev. 1.27: the verbose output for symbolic links
is plain ls -l.
2002-12-19 22:54:44 +00:00
kleink 1c8b4d7b62 Change verbose output for symbolic links from "%s => %s" to "%s -> %s",
which matches ls(1) (per POSIX), as well as GNU tar output.
2002-12-19 22:44:31 +00:00
grant 5a72c72255 Fix oops in last, chown() failure should be fatal.
Noted by Charles Hannum.
2002-12-19 14:23:53 +00:00
grant 3ac4c54a34 Don't attempt to chown files if euid != 0, and make chown() non-fatal
if it does fail.

This addresses my PR bin/18912 (running pkg_info as non-root user on a
binary package).
2002-12-19 14:02:54 +00:00
christos d4ba6227bf fix horrible side effect introduced by changing the append mode into archive.
The append mode already did that, so we always ended up overwriting the archive.
2002-12-12 05:00:42 +00:00
christos 8461b5b85f PR/19339: Martin Weber: Tar fails to append on empty files and exits with
0. Revert previous change for PR/18689. We always want to exit with
an error if we could not determine the archive format. Instead,
treat empty files specially. On list/extract we turn into no/op.
On append, we turn into archive.
2002-12-10 18:33:26 +00:00
mrg bad4b3376e oops, remove a debug statement from the previous. 2002-12-08 02:00:10 +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 de04ce3463 don't print archive summary twice. 2002-12-05 01:38:05 +00:00
lukem e825428033 don't need -lutil any more 2002-11-30 03:12:55 +00:00
rafal 7d4cb139a3 Fix lossage with the GNU-tar -X compatibility code: the replacement pattern
code did not properly deal with the fact that the replacement patterns built
by the -X code were on the stack, happily saving pointers into last weeks'
stack into the REPLACE structures.

Now, the replacement string is strdup'ed so it doesn't matter where the
original expression came from or it's lifetime.
2002-11-29 04:54:48 +00:00
grant 3c0fae1fef void functions should not return a value. 2002-11-27 18:40:34 +00:00
wiz 4b956b29cf Drop a trailing space. 2002-11-06 14:56:48 +00:00
enami 71fcff6ce3 Let the roff to process the end of sentence. 2002-11-06 04:03:25 +00:00
christos 0ec6ea57f7 PR/18831: Andreas Wrede: Don't exit with an error when we are reading a gnu
tar archive.
2002-10-27 20:48:15 +00:00
christos 18c0c9959d ignore files that contain "..", not symlink sources. 2002-10-23 19:39:42 +00:00
lukem ad24ec889c don't bother with cpio/tar links or compat symlinks for HOSTPROGs 2002-10-21 06:26:46 +00:00
thorpej cf6763873c Install compatibility symlinks for /usr/bin/tar (-> /bin/tar)
and /usr/bin/cpio (/bin/cpio).  The pathname of tar(1) is hard-coded
into things like binary packages, and thus must be kept around
for backward compatibility.
2002-10-20 21:20:13 +00:00
christos 44303cad48 PR/18733: Jed Davis: stderr is not constant under linux and this is a host
tool.
2002-10-20 00:40:29 +00:00
provos 32b88027c7 use readlink with bufsize - 1; approved thorpej. 2002-10-19 20:33:17 +00:00
christos 2665f9c68c Only warn the user once about gnu extensions. From Eric Gillespie. 2002-10-18 15:55:08 +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
itojun 8eb125554b exit with 0 if the input is empty of not a tar file. matches GNU tar behavior.
solves PR 18689.
2002-10-18 11:54:22 +00:00
christos ed254499e5 Factor out some more code, and don't expand names in ././@LongLink records. 2002-10-17 01:08:22 +00:00
christos 860d26c69b Fix DEFOP botch. DEFOP == LIST so tar -tvf stopped working. (hi soren) 2002-10-17 00:42:02 +00:00
christos 4472ef1520 Add proper longlink support. Previously we handled longname support, and
the longlink support was completely wrong.
2002-10-17 00:32:36 +00:00
christos 69ea8215e0 add commas between options. Suggested by wiz. 2002-10-16 23:52:06 +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 4dbb5fa93c grr, I put these in the wrong spot. 2002-10-16 21:49:08 +00:00
christos 24dd1a7d61 Document the long options. 2002-10-16 21:47:13 +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 706c1ce906 Flip the pax switch 2002-10-16 15:23:59 +00:00
christos 650f61c526 Warn if we are trying to read a gnu tar archive, if --strict is specified. 2002-10-16 04:40:55 +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
christos ca541391bc PR/18663: Jeremy Reed: pax/tar/cpio allows ".." in names.
We now disallow it by default on both archive creation and extraction.
Add --insecure option to override.
2002-10-15 16:16:29 +00:00
christos 675306eb0e implement fast read. nothing to it really, it was already there as -q option. 2002-10-15 14:58:53 +00:00
christos 9a9c32e167 Add all the gnu cpio long options. 2002-10-15 14:51:04 +00:00
lukem 7f200231eb fix previous: SMALLPROG w/o HOSTPROG still needs <bsd.prog.mk>. (hi christos) 2002-10-14 16:03:51 +00:00
soren f05dd4bfd6 Sync tar_usage() with tar.1. 2002-10-14 15:04:41 +00:00
christos 7e35f7247f don't support rmt for SMALLPROG 2002-10-14 14:41:22 +00:00
christos 8ffc5b1c59 -T expects an argument. From Eric Gillespie, thanks. 2002-10-13 17:23:40 +00:00
christos 011898cd8e Fix error in counting the archive's name length. From Eric Gillespie, thanks! 2002-10-13 17:21:50 +00:00
christos cd1f9fe466 If the archive refers to stdin, the archive's name is null. Check for
null when we see if it refers to a remote file. From Eric Gillespie, thanks!
2002-10-13 17:19:33 +00:00
mrg a9a7ae57f7 fix "pax -rw" processing. for some reason, it was now written to process
"pax -rwvpe a b" as "pax -rwvpe b a", and "pax -rwvpe a b c" as
"pax -rwvpe b c a".  only the part of revision 1.40 that broken this has
been reverted.
2002-10-13 11:31:02 +00:00
mrg 20bac70304 make this build on LP64 2002-10-13 00:34:16 +00:00
mrg ed83539f6e add a "+" to the options string rather than setting POSIXLY_CORRECT 2002-10-13 00:32:09 +00:00
mrg 9b3e4b9e61 include <string.h> for mem* and str* 2002-10-13 00:31:28 +00:00
wiz eb12ddd1f9 Miscellaneous fixes. 2002-10-12 22:36:01 +00:00
thorpej 6fe78b30af Only include <rmt.h> if SUPPORT_RMT. 2002-10-12 19:21:12 +00:00
thorpej 32c48247e8 It doesn't help much to skip linking librmt if HOSTPROG but leave
all the librmt calls in the program.  So, make librmt support conditional
on #ifdef SUPPORT_RMT, and define that when NOT building as a HOSTPROG.
2002-10-12 18:49:28 +00:00
christos 0c61202168 merge OpenBSD changes:
- correct -C processing
    - add ability to read filenames and flags from a file
    - don't print dangerous escape sequences to the terminal
    - use strlcpy/strncpy properly.
    - handle tmpfile creation better.
    - improve documentation of options.
    - handle stdout/stderr list selection correctly.
    - kill gzip when we get interrupted.
    - simplify gzip setup.
    - add more flags to programs.

additional changes:
    - librmt processing.
    - set POSIXLY_CORRECT in options parsing.
    - prevent more string overruns.
    - support -T

we don't turn the switch on to replace tar and cpio yet.
2002-10-12 15:39:29 +00:00
christos b73dcc21ce man pages from OpenBSD.
TODO: add long option documentation.
2002-10-12 15:30:54 +00:00
christos 35bdad4ed7 str{n,l}cpy fixes and buffer limit fixes from OpenBSD 2002-10-11 13:07:36 +00:00
wiz 14dfaa4b03 New policy: New sentences start on a new line.
Patches by Robert Elz <kre at munnari oz au>, with minimal changes by me.
2002-09-25 15:18:36 +00:00
lukem 146a774973 Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../some/path (etc). 2002-08-19 09:56:00 +00:00
wiz 0f88938132 Remove unneeded utmp.h include. 2002-08-01 18:41:34 +00:00
lukem e0fcc669c4 Change how "cd .." is handled in next_file() with -M, to ensure that curdir[]
isn't addressed with a negative offset when back at the top of the tree.
This caused pax -M on sparc64 to generate corrupt tar files.
Problem found by Tim Goodwin <tjg@star.le.ac.uk> in [bin/17412].
2002-06-28 11:29:45 +00:00
wiz 46f7269fa1 End sentence with a dot. 2002-04-21 00:10:09 +00:00
lukem 94f2b78379 - Directories marked `optional' won't be stored, even though their
contents will be.
- Document that `optional' faked-up entries won't be created.
2002-04-20 23:36:48 +00:00