Commit Graph

114 Commits

Author SHA1 Message Date
Sergey Poznyakoff
f1fe157dfe Update 2006-05-08 12:09:07 +00:00
Sergey Poznyakoff
5032e08eb9 Raise version number to 1.15.90 2006-02-19 19:28:17 +00:00
Paul Eggert
78b078b455 * NEWS: --version now outputs copyright etc., to conform to the
GNU coding standards.  Remove --license.
* gnulib.modules: Add version-etc-fsf.
* doc/tar.texi: Document the change.
* lib/.cvsignore: Add version-etc-fsf.c, version-etc.c, version-etc.h.
* scripts/Makefile.am (SED_CMD): Update PAKCAGE_NAME, not PACKAGE.
* scripts/backup.in: Remove --license.  Change --version to conform
to GCS.
* scripts/restore.in: Likewise.
* scripts/backup.sh.in (license): Output briefer license in the
style of coreutils, for consistency with other changes.
* src/tar.c: Include <version-etc.h>.
(LICENSE_OPTION): Remove.
(options): Remove --license.
(license): Remove.
(parse_opt): Use version_etc instead of rolling it ourselves.
Remove --license.
* tests/version.at (tar --version): Check only the first line of
output.
2006-02-07 22:18:36 +00:00
Paul Eggert
e86e864544 Update copyright year to 2006. 2006-02-07 20:55:49 +00:00
Sergey Poznyakoff
38f08784bc Updated 2006-01-18 15:35:34 +00:00
Sergey Poznyakoff
d102bc35a5 Update 2005-12-11 14:10:05 +00:00
Sergey Poznyakoff
075c726752 Update 2005-12-06 23:16:10 +00:00
Sergey Poznyakoff
853edfaff4 Update 2005-12-01 14:51:19 +00:00
Paul Eggert
aa976a5170 * NEWS: New option --atime-preserve=system, which uses O_NOATIME.
* configure.ac: Prefer AC_CHECK_HEADERS_ONCE to AC_CHECK_HEADERS.
Check for stropts.h and sys/filio.h too, for _FIOSATIME.
* doc/tar.texi: Change "modification time" to "data modification
time", "change time" to "status change time", and "filesystem" to
"file system", so that we use terminology consistent with POSIX.
Use American spacing rather than French for sentence ends.
"non-dependable" -> "undependable".
(Option Summary, Attributes): Explain better the pitfalls of the
--atime-preserve option, and suggest read-only mounts,loopback
mounts, and noatime mounts for older systems.
* doc/value.texi (op-atime-preserve-system): Renamed from
op-atime-preserver-system to fix a misspelling.
* src/common.h (enum atime_preserve): Use lower case for enum values.
* src/compare.c: Don't include utimens.h; no longer needed.
(diff_file): Use set_file_atime rather than utimens; avoid closing
diff_handle until after this, so that we can set the file time stamp
via the file descriptor rather than via its name.
* src/create.c: Don't include utimens.h; no longer needed.
(dump_regular_finish): Remove.  All callers now do its work inline.
(dump_dir): New arg FD.  All callers changed.
Use fdsavedir rather than savedir.
(unknown_file_error): Arg is a const pointer now.
(dump_file0): 2nd arg is a const pointer now.
Treat directories more like files, with respect to --atime-preserve.
For example, also warn if a directory changes while we are dumping it.
Prefer file descriptors to file names when retrieving/setting file
attributes; this saves path-resolution time and allows us to avoid
changing mtime/ctime on Solaris when restoring atime as root.
Use O_DIRECTORY when opening directories, to avoid some race conditions.
Do not reset atime if mtime has changed.  Report an error if
we cannot reset atime.

First cut at adding support for --atime-preserve=system.
* doc/tar.texi (Option Summary): First cut at documenting it.
All other uses of --atime-preserve changed to --atime-preserve=replace.
* doc/value.texi (op-atime-preserve-replace, op-atime-preserver-system):
New.
(op-atime-preserve): Mention METHOD.
* src/common.h (atime_preserve): New enum.
(atime_preserve_option): Now of the enum type rather than bool.
All uses changed.
* src/compare.c (diff_file): Read with O_NOATIME if asked for.
* src/create.c (dump_file0): Read regular and CTG files with O_NOATIME
if asked for.
* src/tar.c (usage): Mention new usage.
(parse_opt): Parse new usage.
2005-11-29 19:14:21 +00:00
Paul Eggert
4c4c5a4dc1 Minor language and white space fixes. 2005-11-07 00:25:52 +00:00
Sergey Poznyakoff
49f39c25b4 Updated 2005-09-28 20:42:39 +00:00
Paul Eggert
d659cbaccd Carefully crafted invalid headers can cause buffer overrun.
Invalid header fields go undiagnosed.
Some valid time strings are ignored.

* NEWS: Better support for full-resolution time stamps.
The -v option now prints time stamps only to 1-minute resolution.
* gnulib.modules: Add utimens.
* lib/.cvsignore: Add imaxtostr.c, inttostr.c, inttostr.h,
offtostr.c, umaxtostr.c, utimens.c, utimens.h.  Remove paxconvert.c.
* lib/Makefile.tmpl (libtar_a_SOURCES): Remove paxconvert.c.
* lib/paxconvert.c: Remove; superseded by umaxtostr.c.
* po/POTFILES.in: Remove lib/paxconvert.c.  Add lib/xalloc-die.c,
lib/obstack.c.
* src/buffer.c (set_start_time, compute_duration, start_time):
Use gettime rather than rolling our own code.
* src/common.h (OLDGNU_NAME_FIELD_SIZE, MAXOCTAL11, MAXOCTAL7): Remove.
(newer_ctime_option): Remove.
(timespec_lt): New function.
(OLDER_STAT_TIME): Use it.
(string_to_chars): First arg is char const *, not char *.
(tartime): Time arg is now struct timespec.  New bool arg.
All callers changed.
(code_ns_fraction): New decl.
(sys_stat_nanoseconds): Remove decl.
(get_stat_atime, get_stat_ctime, get_stat_mtime): New functions.
(set_stat_atime, set_stat_ctime, set_stat_mtime): New functions.
* src/compare.c: Include utimens.h rather than rolling our own.
(diff_dir, diff_file, diff_link, diff_symlink, diff_special):
Prototype.
(diff_dumpdir, diff_multivol): Prototype.
(diff_file): Support higher-resolution time stamps.
* src/create.c: Include utimens.h rather than rolling our own.
(MAX_OCTAL_VAL): New macro.
(tar_copy_str, string_to_chars): Don't bother to zero-fill;
the destination is already zeroed.
(string_to_chars): First arg is char const *.
(start_private_header): Use MINOR_TO_CHARS, not MAJOR_TO_CHARS,
for minor device number.
(write_header_name, dump_hard_link, dump_file0):
Simplify test for old GNU format.
(start_header): Put in placeholders for uid, etc., even when
using extended headers, for benefit of older "tar" implementations.
Don't assume uintmax_t is wider than 32 bits.
Output extended header for mtime if needed.
(dump_regular_finish, dump_file0):
Support extended time stamp resolution.
* src/extract.c: Include utimens.h rather than rolling our own.
(check_time): Support extended time stamp resolution.
* src/list.c: Include <inttostr.h>.
(tartime): Use umaxtostr rather than stringify_uintmax_t_backwards.
* src/xheader.c: Include <inttostr.h>.
Do not include <xstrtol.h>.
(strtoimax) [!HAVE_DECL_STRTOIMAX && !defined strtoimax]: New decl.
(strtoumax) [!HAVE_DECL_STRTOUMAX && !defined strtoumax]: New decl.
(BILLION, LOG10_BILLION): New constants.
(to_decimal): Remove; superseded by inttostr.  All callers changed
to use umaxtostr.
(xheader_format_name): Don't assume pids and uintmax_t values
fit in 63 bytes (!) when printed.
(decode_record): Don't bother to check for ERANGE; an out of range
value must be treater than len_max anyway.
If the length is out of range, output it in the diagnostic.
(format_uintmax): Remove; all callers changed to use umaxtostr.
(xheader_print): Don't assume sizes can be printed in 99 bytes (!).
(out_of_range_header): New function.
(decode_time): Use it.
(code_time): Accept struct timespec, not time_t and unsigned long.
All callers changed.  Size sbuf properly, and remove unnecessary check.
Don't assume time stamps can fit in 199 bytes.
Handle negative time stamps.  Handle fractional time stamps
more consistently.  Don't output unnecessary trailing zeros.
(decode_time): Yield struct timespec, not time_t and unsigned long.
All callers changed.
Handle negative time stamps.  Truncate towards minus infinity
consistently.  Improve overflow checks, and output a better
diagnostic on overflow.
(code_num): Don't assume uintmax_t can be printed in 99 bytes (!).
(decode_num): New function, for better diagnostics.
(atime_coder, atime_decoder, gid_decoder, ctime_coder):
(ctime_decoder, mtime_coder, mtime_decoder, size_decoder):
(uid_decoder, sparse_size_decoder, sparse_numblocks_decoder):
(sparse_offset_decoder, sparse_numbytes_decoder):
Use decode_num, etc., instead of xstrtoumax, etc.

* src/xheader.c (sparse_numblocks_decoder): Remove unchecked use
of `calloc'.  Use xcalloc instead.
(decode_time, gid_decoder, size_decoder, uid_decoder):
(sparse_size_decoder, sparse_offset_decoder, sparse_numblocks_decoder):
Ensure that the result of calling xstrtoumax is no larger than
the maximum value for the target type.  Upon any failure, exit with
a diagnostic.
(sparse_numblocks_decoder): Avoid buffer overrun/heap corruption:
use x2nrealloc, rather than `n *= 2' and xrealloc(p, n,....
(decode_time): Rewrite to accept time strings like
1119018481.000000000.  Before, such strings were always ignored.
2005-06-22 06:24:39 +00:00
Sergey Poznyakoff
85ad04d822 Updated 2005-05-30 15:15:25 +00:00
Paul Eggert
120e96c480 Update FSF postal mail address. 2005-05-15 03:59:08 +00:00
Sergey Poznyakoff
0e61fd397f Updated 2005-05-12 15:38:19 +00:00
Paul Eggert
005d0d455c Use UTF-8 uniformly, rather than UTF-8 sometimes and Latin-1 sometimes. 2005-04-16 07:22:13 +00:00
Sergey Poznyakoff
01778aa4a9 Updated 2005-01-18 01:18:07 +00:00
Sergey Poznyakoff
fabcc30f69 Updated 2005-01-13 16:13:43 +00:00
Sergey Poznyakoff
554e50b438 Entry for 1.15.1 2004-12-21 13:23:27 +00:00
Sergey Poznyakoff
5f1e6a6a3b Raised version number to 1.15 2004-12-20 13:54:01 +00:00
Sergey Poznyakoff
aa600ee769 Updated 2004-12-18 20:14:34 +00:00
Sergey Poznyakoff
6323ff0880 Updated 2004-12-18 20:06:18 +00:00
Sergey Poznyakoff
412fbeb90d Updated 2004-11-26 19:10:20 +00:00
Sergey Poznyakoff
53a80edafc Updated 2004-10-25 15:55:11 +00:00
Sergey Poznyakoff
06bb349ca9 Updated 2004-09-02 13:54:24 +00:00
Sergey Poznyakoff
ac830291f1 Updated 2004-09-01 15:06:09 +00:00
Sergey Poznyakoff
33da1b2f64 Updated 2004-08-31 11:51:58 +00:00
Sergey Poznyakoff
607c1bf3b4 Updated 2004-08-19 13:13:37 +00:00
Sergey Poznyakoff
38f39174f2 Updated 2004-08-10 11:24:25 +00:00
Sergey Poznyakoff
402b50d4d2 Updated 2004-06-29 10:09:52 +00:00
Sergey Poznyakoff
8286de0946 Updated. 2004-05-13 08:25:51 +00:00
Sergey Poznyakoff
0500b1ba3e Raised version number to 1.14 2004-05-11 09:25:15 +00:00
Sergey Poznyakoff
289687bd1c Updated 2004-05-10 11:36:40 +00:00
Sergey Poznyakoff
10eef2def8 Updated 2004-05-08 22:18:38 +00:00
Sergey Poznyakoff
466e40abe5 Updated 2004-04-04 13:30:14 +00:00
Sergey Poznyakoff
81bf1687f8 Updated 2004-02-29 00:04:03 +00:00
Sergey Poznyakoff
7add6e4274 Updated 2004-02-23 10:04:49 +00:00
Sergey Poznyakoff
7eeb467132 Minor fix 2004-02-22 20:50:33 +00:00
Sergey Poznyakoff
6847d128e9 Updated 2004-02-21 09:41:19 +00:00
Sergey Poznyakoff
b58452bdbd Documented --pax-option 2004-02-20 11:44:46 +00:00
uid65697
3b3f5da0e9 Updated 2003-12-25 10:17:18 +00:00
Sergey Poznyakoff
1a1f2d33d5 Updated 2003-10-19 18:56:49 +00:00
Sergey Poznyakoff
32c1e664e5 Updated 2003-10-08 11:16:47 +00:00
Paul Eggert
1e7d274cd8 Fix some misspellings. 2003-10-04 22:30:52 +00:00
Sergey Poznyakoff
35d44a05eb Updated 2003-10-04 13:48:52 +00:00
Sergey Poznyakoff
13be4005e7 Updated 2003-10-02 10:29:18 +00:00
Sergey Poznyakoff
5b9d8c93c7 Updated 2003-09-04 15:43:35 +00:00
Sergey Poznyakoff
c92c357a62 Updated 2003-09-03 11:03:23 +00:00
Paul Eggert
81a9e2ae36 Drop en_GB locale; it was more trouble than it was worth (e.g., different
users in en_GB disagree about -ize versus -ise).
2003-08-30 05:37:55 +00:00
Sergey Poznyakoff
cab627b49d Updated 2003-07-28 11:57:26 +00:00