diff options
author | wiz <wiz@pkgsrc.org> | 2010-12-12 13:10:39 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2010-12-12 13:10:39 +0000 |
commit | 4202ee82c39396b2f26afd4e679f0bbdfebd9129 (patch) | |
tree | f1c560c31066b3b33232705a0a044a4c0c25dd3e /archivers/gtar-base/patches | |
parent | c3f74ca555ef38e134621eb14ff1fac176edd7ce (diff) | |
download | pkgsrc-4202ee82c39396b2f26afd4e679f0bbdfebd9129.tar.gz |
Update gtar to 1.25.
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.
Diffstat (limited to 'archivers/gtar-base/patches')
-rw-r--r-- | archivers/gtar-base/patches/patch-aa | 15 | ||||
-rw-r--r-- | archivers/gtar-base/patches/patch-ab | 24 | ||||
-rw-r--r-- | archivers/gtar-base/patches/patch-ad | 12 | ||||
-rw-r--r-- | archivers/gtar-base/patches/patch-af | 15 |
4 files changed, 43 insertions, 23 deletions
diff --git a/archivers/gtar-base/patches/patch-aa b/archivers/gtar-base/patches/patch-aa new file mode 100644 index 00000000000..3d8c49c5eb0 --- /dev/null +++ b/archivers/gtar-base/patches/patch-aa @@ -0,0 +1,15 @@ +$NetBSD: patch-aa,v 1.10 2010/12/12 13:10:40 wiz Exp $ + +Unportable test(1) construct. + +--- configure.orig 2010-12-12 12:26:48.000000000 +0000 ++++ configure +@@ -35225,7 +35225,7 @@ $as_echo "$as_me: failed program was:" > + sed 's/^/| /' conftest.$ac_ext >&5 + + ( exit $ac_status ) +-if test $? == 99 && test x"$FORCE_UNSAFE_CONFIGURE" = x; then ++if test $? = 99 && test x"$FORCE_UNSAFE_CONFIGURE" = x; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { { $as_echo "$as_me:$LINENO: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check) diff --git a/archivers/gtar-base/patches/patch-ab b/archivers/gtar-base/patches/patch-ab index 33b4a91ddf8..4d51aabdf05 100644 --- a/archivers/gtar-base/patches/patch-ab +++ b/archivers/gtar-base/patches/patch-ab @@ -1,10 +1,10 @@ -$NetBSD: patch-ab,v 1.13 2010/03/23 19:00:10 tez Exp $ +$NetBSD: patch-ab,v 1.14 2010/12/12 13:10:40 wiz Exp $ add --no-unlink-first option to negate --unlink-first option earlier patches made --unlink-first a default, but that was dropped years ago ---- src/tar.c.orig 2010-03-23 12:11:49.133467100 -0500 -+++ src/tar.c 2010-03-23 12:39:58.326191800 -0500 -@@ -299,6 +299,7 @@ +--- src/tar.c.orig 2010-10-24 18:07:55.000000000 +0000 ++++ src/tar.c +@@ -300,6 +300,7 @@ enum NO_RECURSION_OPTION, NO_SAME_OWNER_OPTION, NO_SAME_PERMISSIONS_OPTION, @@ -12,7 +12,7 @@ earlier patches made --unlink-first a default, but that was dropped years ago NO_SEEK_OPTION, NO_UNQUOTE_OPTION, NO_WILDCARDS_MATCH_SLASH_OPTION, -@@ -504,6 +505,8 @@ +@@ -505,6 +506,8 @@ static struct argp_option options[] = { N_("try extracting files with the same ownership as exists in the archive (default for superuser)"), GRID+1 }, {"no-same-owner", NO_SAME_OWNER_OPTION, 0, 0, N_("extract files as yourself (default for ordinary users)"), GRID+1 }, @@ -21,14 +21,14 @@ earlier patches made --unlink-first a default, but that was dropped years ago {"numeric-owner", NUMERIC_OWNER_OPTION, 0, 0, N_("always use numbers for user/group names"), GRID+1 }, {"preserve-permissions", 'p', 0, 0, -@@ -1642,6 +1645,10 @@ - old_files_option = UNLINK_FIRST_OLD_FILES; +@@ -1644,6 +1647,10 @@ parse_opt (int key, char *arg, struct ar + set_subcommand_option (TEST_LABEL_SUBCOMMAND); break; - + + case NO_UNLINK_FIRST_OPTION: + old_files_option = DEFAULT_OLD_FILES; + break; -+ - case UTC_OPTION: - utc_option = true; - break; ++ + case 'T': + update_argv (arg, state); + /* Indicate we've been given -T option. This is for backward diff --git a/archivers/gtar-base/patches/patch-ad b/archivers/gtar-base/patches/patch-ad index dbc101f6e87..2dd609118f9 100644 --- a/archivers/gtar-base/patches/patch-ad +++ b/archivers/gtar-base/patches/patch-ad @@ -1,8 +1,12 @@ -$NetBSD: patch-ad,v 1.9 2010/03/23 19:00:10 tez Exp $ +$NetBSD: patch-ad,v 1.10 2010/12/12 13:10:40 wiz Exp $ ---- Makefile.in.orig 2010-03-23 12:41:47.657803000 -0500 -+++ Makefile.in 2010-03-23 12:42:22.936337700 -0500 -@@ -899,7 +899,7 @@ +Don't install documentation with this package, it is in +gtar-info (to reduce dependencies when gtar is used for +bootstrapping). + +--- Makefile.in.orig 2010-11-07 13:53:49.000000000 +0000 ++++ Makefile.in +@@ -947,7 +947,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = ChangeLog.1 Make.rules diff --git a/archivers/gtar-base/patches/patch-af b/archivers/gtar-base/patches/patch-af index ce00143b8b5..ff060c73ace 100644 --- a/archivers/gtar-base/patches/patch-af +++ b/archivers/gtar-base/patches/patch-af @@ -1,14 +1,15 @@ -$NetBSD: patch-af,v 1.6 2010/03/23 19:00:10 tez Exp $ -skip autotest gzip.at (currently #35 but that changes every release) +$NetBSD: patch-af,v 1.7 2010/12/12 13:10:40 wiz Exp $ ---- tests/testsuite.orig 2010-03-23 13:08:29.122310500 -0500 -+++ tests/testsuite 2010-03-23 13:11:27.216980700 -0500 -@@ -621,7 +621,7 @@ +skip autotest gzip.at (currently #50 but that changes every release) + +--- tests/testsuite.orig 2010-11-07 13:58:10.000000000 +0000 ++++ tests/testsuite +@@ -621,7 +621,7 @@ at_change_dir=false # List of the tested programs. at_tested='tar' # List of the all the test groups. --at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98' -+at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98' +-at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118' ++at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118' # As many question marks as there are digits in the last test group number. # Used to normalize the test group numbers so that `ls' lists them in # numerical order. |