- two patches are removed, upstream change
(upstream)
- Updated archivers/gtar to 1.29
Updated archivers/gtar-base to 1.29
Updated archivers/gtar-info to 1.29
------------------------------------
version 1.29 - Sergey Poznyakoff, 2016-05-16
* New options: --verbatim-files-from, --no-verbatim-files-from
The --verbatim-files-from option instructs tar to treat each line read
from a file list as a file name, even if it starts with a dash.
File lists are supplied with the --files-from (-T) option. By
default, each line read from a file list is first stripped off the
leading and trailing whitespace and, if the result begins with a dash,
it is treated as tar command line option.
Use the --verbatim-files-from option to disable this special handling.
This facilitates the use of tar with file lists created automatically
(e.g. by find(1) command).
This option affects all --files-from options that occur after it in
the command line. Its effect is reverted by the
--no-verbatim-files-from option.
* --null option reads file names verbatim
The --null option implies --verbatim-files-from. I.e. each line
read from null-delimited file lists is treated as a file name.
This restores the documented behavior, which was broken in version
1.27.
* New options: --owner-map=FILE and --group-map=FILE
These two options provide fine-grained control over what user/group
names (or IDs) should be mapped when adding files to archive.
For both options, FILE is a plain text file with user or group
mappings. Empty lines are ignored. Comments are introduced with
# sign (unless quoted) and extend to the end of the corresponding
line. Each non-empty line defines translation for a single UID (GID).
It must consist of two fields, delimited by any amount of whitespace:
OLDNAME NEWNAME[:NEWID]
OLDNAME is either a valid user (group) name or a ID prefixed with +. Unless
NEWID is supplied, NEWNAME must also be either a valid name or a
+ID. Otherwise, both NEWNAME and NEWID need not be listed in the
system user database.
* New option --clamp-mtime
The new --clamp-mtime option changes the behavior of --mtime to only
use the time specified if the file mtime is newer than the given time.
The --clamp-mtime option can only be used together with --mtime.
Typical use case is to make builds reproducible: to loose less
information, it's better to keep the original date of an archive,
except for files modified during the build process. In that case, using
reference (and thus reproducible) timestamps for the latter is good
enough.
See <https://wiki.debian.org/ReproducibleBuilds> for more information.
* Deprecated --preserve option removed
* Sparse file detection
Tar now uses SEEK_DATA/SEEK_HOLE on systems that support it. This
allows for considerable speed-up in sparse-file detection.
New option --hole-detection is provided, that allows the user to
select the algorithm used for hole detection. Available arguments
are:
--hole-detection=seek
Use lseek(2) SEEK_DATA and SEEK_HOLE "whence" parameters.
--hole-detection=raw
Scan entire file before storing it to determine where holes
are located.
The default is to use "seek" whenever possible, and fall back to
"raw" otherwise.
Problems found with existing distfile for eagle:
distfiles/bicom101.zip
distfiles/szip-2.1nb3/szip-2.1.tar.gz
distfiles/xmill-0.9.1.tar.gz
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
on AIX. This is a workaround for an issue where though the wctype.h included on
system was found, wctype_t & wctrans_t were deemed unsuitable, causing the build
to fail due to previous declaration with confliciting types.
Reviewed by wiz@
Use official man page, now that there is one.
version 1.28, 2014-07-28
* New checkpoint action: totals
The --checkpoint-action=totals option instructs tar to output the
total number of bytes transferred at each checkpoint.
* Extended checkpoint format specification.
New conversion specifiers are implemented. Some of them take
optional arguments, supplied in curly braces between the percent
sign and the specifier letter.
%d - Number of seconds since tar started.
%{r,w,d}T - I/O totals; optional arguments supply prefixes
to be used before number of bytes read, written and
deleted, correspondingly.
%{FMT}t - Current local time using FMT as strftime(3) format.
If {FMT} is omitted, use %c.
%{N}* - Pad output with spaces to the Nth column, or to the
current screen width, if {N} is not given.
%c - A shortcut for "%{%Y-%m-%d %H:%M:%S}t: %ds, %{read,wrote}T%*\r"
* New option --one-top-level
The option --one-top-level tells tar to extract all files into a
subdirectory named by the base name of the archive (minus standard
compression suffixes recognizable by --auto-compress). When used with
an argument, as in --one-top-level=DIR, the files are extracted into the
supplied DIRectory. This ensures that no archive members are
extracted outside of the specified directory, even if the archive is
crafted so as to put them elsewhere.
* New option --sort
The --sort=ORDER option instructs tar to sort directory entries
according to ORDER. It takes effect when creating archives.
Available ORDERs are: none (the default), name and inode. The
latter may be absent, if the underlying system does not provide
the necessary information.
Using --sort=name ensures the member ordering in the created archive
is uniform and reproducible. Using --sort=inode reduces the number
of disk seeks made when creating the archive and thus can considerably
speed up archivation.
* New exclusion options
--exclude-ignore=FILE Before dumping a directory check if it
contains FILE, and if so read exclude
patterns for this directory from FILE.
--exclude-ignore-recursive=FILE
Same as above, but the exclusion patterns
read from FILE remain in effect for any
subdirectory, recursively.
--exclude-vcs-ignores Read exclude tags from VCS ignore files,
where such files exist. Supported VCS's
are: CVS, Git, Bazaar, Mercurial.
* Tar refuses to read input from and write output to a tty device.
* Manpages
This release includes official tar(1) and rmt(8) manpages.
Distribution maintainers are kindly asked to use these instead of the
home-made pages they have been providing so far.
SCO OpenServer 5.0.7/3.2 has strtoimax() declaration in inttypes.h,
but libc.so has no implementation. And gnulib in GNU tar 1.27 has broken
strtoimax() support. We have to use BSDL implementation instead.
* Bug fixes
* Fix unquoting of file names obtained via the -T option.
* Fix GNU long link header timestamp (backward compatibility).
* Fix extracting sparse members from star archives.
* 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.
* Work around POSIX incompatibilities on FreeBSD, NetBSD and Tru64.
* Fix bug with --one-file-system --listed-incremental.
NetBSD-current and Solaris 10 (tested by tez@), the other one was
adding a --no-unlink-first option that was added because NetBSD's
version of tar had made --unlink-first default. Since this default
was changed quite some time ago and the option never was in upstream,
remove it.
Bump PKGREVISION.
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.
Also:
# Improved record size autodetection
# Use of lseek on seekable archives
# New command line option --warning
# New command line option --level
# Improved behavior if some files were removed during incremental dumps
# Modification times of PAX extended headers
# Time references in the --pax-option argument
# Augmented environment of the --to-command script
# 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)
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:
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:
1. The option --xz or -J is used.
2. The xz binary is set as compressor using --use-compress-program option.
3. The file is recognized as xz compressed stream data.
* Short option -J reassigned as a short equivalent of --xz
* New option -I
The -I option is assigned as a short equivalent for
--use-compress-program.
* The --no-recursive option works in incremental mode.
version 1.21 - Sergey Poznyakoff, 2008-12-27
* New short option -J
A shortcut for --lzma.
* New option --lzop
* New option --no-auto-compress
Cancels the effect of previous --auto-compress (-a) option.
* New option --no-null
Cancels the effect of previous --null option.
* Compressed format recognition
If tar is unable to determine archive compression format, it falls
back to using archive suffix to determine it.
* VCS support.
Using --exclude-vcs handles also files used internally by Bazaar,
Mercurial and Darcs.
* Transformation scope flags
Name transformation expressions understand additional flags that
control type of archive members affected by them. The flags are:
- r
Apply transformation to regular archive members.
- s
Apply transformation to symbolic link targets.
- h
Apply transformation to hard link targets.
Corresponding upper-case letters negate the meaning, so that
`H' means ``do not apply transformation to hard link targets.''
The scope flags are listed in the third part of an `s' expression,
e.g.:
tar --transform 's|^|/usr/local/|S'
Default is `rsh', which means that transformations are applied to
both regular archive members and to the targets of symbolic and hard
links. If several transform expressions are used, the default flags
can be changed using `flags=' statement before the expressions, e.g.:
tar --transform 'flags=S;s|^|/usr/local/|S'
* Bugfixes
** 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.
gtar cowardly refuses to build if time_t doesn't fit in "long int",
as happens to be the case now on 32-bit NetBSD hosts.
Supress the error and turn it into a warning instead.
"make test" still OK