X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=NEWS;h=6226d070e1e2951bd297ce9071caf4a681f4819a;hb=9a82a0215b971725c835c640fb5f6e5b47ac214e;hp=9c15ad79a50cb8552ee8ebad1b6bd1ef7443de80;hpb=755c246588092d0b281cb610a8371c2c9b32de59;p=chaz%2Ftar diff --git a/NEWS b/NEWS index 9c15ad7..6226d07 100644 --- a/NEWS +++ b/NEWS @@ -1,8 +1,175 @@ -GNU tar NEWS - User visible changes. 2009-08-05 +GNU tar NEWS - User visible changes. 2011-11-26 Please send GNU tar bug reports to -version 1.22.90 (Git) +version 1.26.90 (Git) + +* New features + +** --owner and --group names and numbers + +The --owner and --group options now accept operands of the form +NAME:NUM, so that you can specify both symbolic name and numeric ID +for owner and group. In these options, NAME no longer needs to be +present in the current host's user and group databases. + +* The --keep-old-files and --skip-old-files options. + +This release restores the traditional functionality of the +--keep-old-files. This option causes tar to avoid replacing +existing files while extracting and to treat such files as errors. +Tar will emit a prominent error message upon encountering such files +and will exit with code 2 when finished extracting the archive. + +A new option --skip-old-files is introduced, which acts exactly as +--keep-old-files, except that it does not treat existing files as +errors. Instead it just silently skips them. An additional level of +verbosity can be obtained by using the option --warning=existing-file +together with this option. + + +version 1.26 - Sergey Poznyakoff, 2011-03-12 + +* Bugfixes + +** Fix the --verify option, which broke in version 1.24. + +** Fix storing long sparse file names in PAX archives. + +** Fix correctness of --atime-preserve=replace + +tar --atime-preserve=replace no longer tries to restore atime of +zero-sized files. + +** Work around POSIX incompatibilities on FreeBSD, NetBSD and Tru64 + +** Fix bug with --one-file-system --listed-incremental + +When invoked with these two options, tar 1.25 would add only the +top-level directory to the archive, but not its contents. + + +version 1.25 - Sergey Poznyakoff, 2010-11-07 + +* Fix extraction of empty directories with the -C option in effect. +* Fix extraction of device nodes. +* Make sure name matching occurs before eventual name transformation. + +Tar 1.24 changed the ordering of name matching and name transformation +so that the former saw already transformed file names. This made it +impossible to match file names in certain cases. It is fixed now. + +* Fix the behavior of tar -x --overwrite on hosts lacking O_NOFOLLOW. + +* Improve the testsuite. + +* Alternative decompression programs. + +If extraction from a compressed archive fails because the corresponding +compression program is not installed and the following two conditions +are met, tar retries extraction using an alternative decompressor: + + 1. Another compression program supported by tar is able to handle this + compression format. + 2. The compression program was not explicitly requested in the command + line by the use of such options as -z, -j, etc. + +For example, if `compress' is not available, tar will try `gzip'. + + +version 1.24 - Sergey Poznyakoff, 2010-10-24 + +* The --full-time option. + +New command line option `--full-time' instructs tar to output file +time stamps to the full resolution. + +* Bugfixes. + +** More reliable directory traversal when creating archives + +Tar now checks for inconsistencies caused when a file system is +modified while tar is creating an archive. In the new approach, tar +maintains a cache of file descriptors to directories, so it uses more +file descriptors than before, but it adjusts to system limits on +the number of file descriptors. Tar also takes more care when +a file system is modified while tar is extracting from an archive. + +The new checks are implemented via the openat and related calls +standardized by POSIX.1-2008. On an older system where these calls do +not exist or do not return useful results, tar emulates the calls at +some cost in efficiency and reliability. + +** Symbolic link attributes + +When extracting symbolic links, tar now restores attributes such as +last-modified time and link permissions, if the operating system +supports this. For example, recent versions of the Linux kernel +support setting times on symlinks, and some BSD kernels also support +symlink permissions. + +** --dereference consistency + +The --dereference (-h) option now applies to files that are copied +into or out of archives, independently of other options. For example, +if F is a symbolic link and archive.tar contains a regular-file member +also named F, "tar --overwrite -x -f archive.tar F" now overwrites F +itself, rather than the file that F points to. (To overwrite the file +that F points to, add the --dereference (-h) option.) Formerly, +--dereference was intended to apply only when using the -c option, but +the implementation was not consistent. + +Also, the --dereference option no longer affects accesses to other +files, such as archives and time stamp files. Symbolic links to these +files are always followed. Previously, the links were usually but not +always followed. + +** Spurious error diagnostics on broken pipe. + +When receiving SIGPIPE, tar would exit with error status and +"write error" diagnostics. In particular, this occurred if +invoked as in the example below: + + tar tf archive.tar | head -n 1 + +** --remove-files + +`Tar --remove-files' failed to remove a directory which contained +symlinks to another files within that directory. + +** --test-label behavior + +In case of a mismatch, `tar --test-label LABEL' exits with code 1, +not 2 as it did in previous versions. + +The `--verbose' option used with `--test-label' provides additional +diagnostics. + +Several volume labels may be specified in a command line, e.g.: + + tar --test-label -f archive 'My volume' 'New volume' 'Test volume' + +In this case, tar exits with code 0 if any one of the arguments +matches the actual volume label. + +** --label used with --update + +The `--label' option can be used with `--update' to prevent accidental +update of an archive: + + tar -rf archive --label 'My volume' . + +This did not work in previous versions, in spite of what the docs said. + +** --record-size and --tape-length (-L) options + +Usual size suffixes are allowed for these options. For example, +-L10k stands for a 10 kilobyte tape length. + +** Fix dead loop on extracting existing symlinks with the -k option. + + +version 1.23 - Sergey Poznyakoff, 2010-03-10 * Record size autodetection @@ -10,25 +177,118 @@ When listing or extracting archives, the actual record size is reported only if the archive is read from a device (as opposed to regular files and pipes). +* Seekable archives + +When a read-only operation (e.g. --list or --extract) is requested +on a regular file, tar attemtps to speed up accesses by using lseek. + +* New command line option `--warning' + +The `--warning' command line option allows to suppress or enable +particular warning messages during `tar' run. It takes a single +argument (a `keyword'), identifying the class of warning messages +to affect. If the argument is prefixed with `no-', such warning +messages are suppressed. For example, + + tar --warning=no-alone-zero-block -x -f archive + +suppresses the output of `A lone zero block' diagnostics, which is +normally issued if `archive' ends with a single block of zeros. + +See Tar Manual, section 3.9 "Controlling Warning Messages", for a +detailed discussion. + +* New command line option `--level' + +The `--level=N' option sets the incremental dump level N. It +is valid when used in conjunction with the -c and --listed-incremental +options. So far the only meaningful value for N is 0. The +`--level=0' option forces creating the level 0 dump, by truncating +the snapshot file if it exists. + +* Files removed during incremental dumps + +If a file or directory is removed while incremental dump is +in progress, tar exact actions depend on whether this file +was explicitly listed in the command line, or was found +during file system scan. + +If the file was explicitly listed in the command line, tar +issues error message and exits with the code 2, meaning +fatal error. + +Otherwise, if the file was found during the file system scan, +tar issues a warning, saying "File removed before we read it", +and sets exit code to 1, which means "some files differ". +If the --warning=no-file-removed option is given, no warning +is issued and exit code remains 0. + +* Modification times of PAX extended headers. + +Modification times in ustar header blocks of extended headers +are set to mtimes of the corresponding archive members. This +can be overridden by the + + --pax-opion='exthdr.mtime=STRING' + +command line option. The STRING is either number of seconds since +the Epoch or a `Time reference' (see below). + +Modification times in ustar header blocks of global extended +headers are set to the time when tar was invoked. + +This can be overridden by the + + --pax-opion='globexthdr.mtime=STRING' + +command line option. The STRING is either number of seconds since +the Epoch or a `Time reference' (see below). + +* Time references in --pax-option argument. + +Any value from the --pax-option argument that is enclosed in a pair +of curly braces represents a time reference. The string between the +braces is understood either as a textual time representation, as described in +chapter 7, "Date input formats", of the Tar manual, or as a name of +an existing file, starting with `/' or `.'. In the latter +case, it is replaced with the modification time of that file. + +* Environment of --to-command script. + +The environment passed to the --to-command script is extended with +the following variables: + + TAR_VERSION GNU tar version number + TAR_ARCHIVE The name of the archive + TAR_VOLUME Ordinal number of the volume + TAR_FORMAT Format of the archive + TAR_BLOCKING_FACTOR Current blocking factor + * Bugfixes ** Fix handling of hard link targets by -c --transform. ** Fix hard links recognition with -c --remove-files. ** Fix restoring files from backup (debian bug #508199). ** Correctly restore modes and permissions on existing directories. +** The --remove-files option removes files only if they were +succesfully stored in the archive. +** Fix storing and listing of the volume labels in POSIX format. +** Improve algorithm for splitting long file names (ustar +format). +** Fix possible memory overflow in the rmt client code (CVE-2010-0624). version 1.22 - Sergey Poznyakoff, 2009-03-05 * Support for xz compression -Tar uses xz for compression if one of the following conditions is met: +Tar uses xz for compression if one of the following conditions is met: 1. The option --xz or -J (see below) is used. 2. The xz binary is set as compressor using --use-compress-program option. 3. The file name of the archive being created ends in `.xz' and auto-compress option (-a) is used. -Xz is used for decompression if one of the following conditions is met: +Xz is used for decompression if one of the following conditions is met: 1. The option --xz or -J is used. 2. The xz binary is set as compressor using --use-compress-program option. @@ -81,7 +341,7 @@ control type of archive members affected by them. The flags are: - s Apply transformation to symbolic link targets. - - h + - h Apply transformation to hard link targets. Corresponding upper-case letters negate the meaning, so that @@ -103,10 +363,10 @@ can be changed using `flags=' statement before the expressions, e.g.: ** The --null option disabled handling of tar options in list files. This is fixed. -** Fixed record size autodetection. If detected record size differs from -the expected value (either default, or set on the command line), tar -always prints a warning if verbosity level is set to 1 or greater, -i.e. if either -t or -v option is given. +** Fixed record size autodetection. If the detected record size differs from +the expected value (either default one, or the one set from the +command line), tar always prints a warning if verbosity level is set +to 1 or greater, i.e. if either -t or -v option is given. @@ -160,7 +420,7 @@ during both creation and extraction. Tar 1.19 used them only during extraction. For a detailed description, see chapter 6.7 "Modifying File and Member -Names". +Names". * Info (end-of-volume) scripts @@ -187,8 +447,8 @@ control systems, e.g. "CVS/", ".svn/", etc. The following options now work with incremental archives as well: - --exclude-caches - --exclude-caches-all + --exclude-caches + --exclude-caches-all --exclude-tag --exclude-tag-all --exclude-tag-under @@ -199,14 +459,14 @@ Previous versions always stored absolute file names in rename records, even if -P was not used. This is fixed: rename records contain file names processed in accordance with the command line settings. - + * Fix --version output. * Recognition of broken archives. When supplied an archive smaller than 512 bytes in reading mode (-x, -t), the previous version of tar silently ignored it, exiting with -code 0. It is fixed. Tar now issues the following diagnostic message: +code 0. It is fixed. Tar now issues the following diagnostic message: 'This does not look like a tar archive', and exits with code 2. * Fix double-dot recognition in archive member names in case of duplicate '/.'. @@ -1106,7 +1366,7 @@ Versions 1.07 back to 1.00 by Jay Fenlason. Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, -2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GNU tar.