Supply more information to the --to-command script.
* src/system.c (stat_to_env): Pass information about the current volume in variables TAR_ARCHIVE, TAR_VOLUME, TAR_BLOCKING_FACTOR, TAR_FORMAT. * doc/tar.texi: Document new environment variables. * NEWS: Likewise. * configure.ac: Version number 1.22.91.
This commit is contained in:
15
NEWS
15
NEWS
@@ -1,8 +1,8 @@
|
||||
GNU tar NEWS - User visible changes. 2010-01-26
|
||||
GNU tar NEWS - User visible changes. 2010-02-25
|
||||
Please send GNU tar bug reports to <bug-tar@gnu.org>
|
||||
|
||||
|
||||
version 1.22.90 (Git)
|
||||
version 1.22.91 (Git)
|
||||
|
||||
* Record size autodetection
|
||||
|
||||
@@ -86,6 +86,17 @@ chapter 7, "Date input formats", of the Tar manual, or as a name of
|
||||
an existing file, starting with `/' or `.'. In the latter
|
||||
case, the value 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.
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
AC_INIT([GNU tar], [1.22.90], [bug-tar@gnu.org])
|
||||
AC_INIT([GNU tar], [1.22.91], [bug-tar@gnu.org])
|
||||
AC_CONFIG_SRCDIR([src/tar.c])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
|
||||
25
doc/tar.texi
25
doc/tar.texi
@@ -5430,9 +5430,32 @@ UID of the file owner.
|
||||
GID of the file owner.
|
||||
@end table
|
||||
|
||||
In addition to these variables, @env{TAR_VERSION} contains the
|
||||
Additionally, the following variables contain information about
|
||||
tar mode and the archive being processed:
|
||||
|
||||
@table @env
|
||||
@vrindex TAR_VERSION, to-command environment
|
||||
@item TAR_VERSION
|
||||
@GNUTAR{} version number.
|
||||
|
||||
@vrindex TAR_ARCHIVE, to-command environment
|
||||
@item TAR_ARCHIVE
|
||||
The name of the archive @command{tar} is processing.
|
||||
|
||||
@vrindex TAR_BLOCKING_FACTOR, to-command environment
|
||||
@item TAR_BLOCKING_FACTOR
|
||||
Current blocking factor (@pxref{Blocking}.
|
||||
|
||||
@vrindex TAR_VOLUME, to-command environment
|
||||
@item TAR_VOLUME
|
||||
Ordinal number of the volume @command{tar} is processing.
|
||||
|
||||
@vrindex TAR_FORMAT, to-command environment
|
||||
@item TAR_FORMAT
|
||||
Format of the archive being processed. @xref{Formats}, for a complete
|
||||
list of archive format names.
|
||||
@end table
|
||||
|
||||
If @var{command} exits with a non-0 status, @command{tar} will print
|
||||
an error message similar to the following:
|
||||
|
||||
|
||||
@@ -629,6 +629,12 @@ static void
|
||||
stat_to_env (char *name, char type, struct tar_stat_info *st)
|
||||
{
|
||||
str_to_env ("TAR_VERSION", PACKAGE_VERSION);
|
||||
str_to_env ("TAR_ARCHIVE", *archive_name_cursor);
|
||||
dec_to_env ("TAR_VOLUME", archive_name_cursor - archive_name_array + 1);
|
||||
dec_to_env ("TAR_BLOCKING_FACTOR", blocking_factor);
|
||||
str_to_env ("TAR_FORMAT",
|
||||
archive_format_string (current_format == DEFAULT_FORMAT ?
|
||||
archive_format : current_format));
|
||||
chr_to_env ("TAR_FILETYPE", type);
|
||||
oct_to_env ("TAR_MODE", st->stat.st_mode);
|
||||
str_to_env ("TAR_FILENAME", name);
|
||||
|
||||
Reference in New Issue
Block a user