rebase to new upstream release
Per release notes: https://savannah.gnu.org/forum/forum.php?forum_id=8037 Version: 1.28-1
This commit is contained in:
parent
d9303a0ad2
commit
6334ff4be0
14
.gitignore
vendored
14
.gitignore
vendored
@ -1,12 +1,2 @@
|
|||||||
tar-1.23.tar.bz2
|
/tar-1.28.tar.xz
|
||||||
tar-1.23.tar.bz2.sig
|
/tar-1.28.tar.xz.sig
|
||||||
/tar-1.24.tar.xz
|
|
||||||
/tar-1.24.tar.xz.sig
|
|
||||||
/tar-1.25.tar.xz
|
|
||||||
/tar-1.25.tar.xz.sig
|
|
||||||
/tar-1.26.tar.xz
|
|
||||||
/tar-1.26.tar.xz.sig
|
|
||||||
/tar-1.27.tar.xz
|
|
||||||
/tar-1.27.tar.xz.sig
|
|
||||||
/tar-1.27.1.tar.xz
|
|
||||||
/tar-1.27.1.tar.xz.sig
|
|
||||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
|||||||
e0382a4064e09a4943f3adeff1435978 tar-1.27.1.tar.xz
|
49b6306167724fe48f419a33a5beb857 tar-1.28.tar.xz
|
||||||
575d1ba7ddcec1bbecd2dd9556b3848e tar-1.27.1.tar.xz.sig
|
a84d018c092514a65ba1c270a68826c3 tar-1.28.tar.xz.sig
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
diff --git a/src/create.c b/src/create.c
|
|
||||||
index 43b5a4c..f98cbb5 100644
|
|
||||||
--- a/src/create.c
|
|
||||||
+++ b/src/create.c
|
|
||||||
@@ -1798,7 +1798,8 @@ dump_file0 (struct tar_stat_info *st, char const *name, char const *p)
|
|
||||||
}
|
|
||||||
else if (atime_preserve_option == replace_atime_preserve
|
|
||||||
&& fd && (is_dir || original_size != 0)
|
|
||||||
- && set_file_atime (fd, parentfd, name, st->atime) != 0)
|
|
||||||
+ && set_file_atime (fd, parentfd, name, st->atime) != 0
|
|
||||||
+ && errno != EROFS )
|
|
||||||
utime_error (p);
|
|
||||||
}
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
|||||||
diff --git a/src/tar.c b/src/tar.c
|
|
||||||
index e244808..18277e4 100644
|
|
||||||
--- a/src/tar.c
|
|
||||||
+++ b/src/tar.c
|
|
||||||
@@ -162,6 +162,14 @@ set_archive_format (char const *name)
|
|
||||||
archive_format = p->fmt;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+set_xattr_option (int value)
|
|
||||||
+{
|
|
||||||
+ if (value == 1)
|
|
||||||
+ set_archive_format ("posix");
|
|
||||||
+ xattrs_option = value;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
const char *
|
|
||||||
archive_format_string (enum archive_format fmt)
|
|
||||||
{
|
|
||||||
@@ -2141,16 +2149,16 @@ parse_opt (int key, char *arg, struct argp_state *state)
|
|
||||||
break;
|
|
||||||
|
|
||||||
case XATTR_OPTION:
|
|
||||||
- set_archive_format ("posix");
|
|
||||||
- xattrs_option = 1;
|
|
||||||
+ set_xattr_option (1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NO_XATTR_OPTION:
|
|
||||||
- xattrs_option = -1;
|
|
||||||
+ set_xattr_option (-1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case XATTR_INCLUDE:
|
|
||||||
case XATTR_EXCLUDE:
|
|
||||||
+ set_xattr_option (1);
|
|
||||||
xattrs_mask_add (arg, (key == XATTR_INCLUDE));
|
|
||||||
break;
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
|||||||
diff --git a/src/xattrs.c b/src/xattrs.c
|
|
||||||
index 5a4bf72..bdf6ba0 100644
|
|
||||||
--- a/src/xattrs.c
|
|
||||||
+++ b/src/xattrs.c
|
|
||||||
@@ -693,7 +693,7 @@ xattrs_print_char (struct tar_stat_info const *st, char *output)
|
|
||||||
if (selinux_context_option > 0 && st->cntx_name)
|
|
||||||
*output = '.';
|
|
||||||
|
|
||||||
- if (acls_option && (st->acls_a_len || st->acls_d_len))
|
|
||||||
+ if (acls_option > 0 && (st->acls_a_len || st->acls_d_len))
|
|
||||||
*output = '+';
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -704,11 +704,11 @@ xattrs_print (struct tar_stat_info const *st)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* selinux */
|
|
||||||
- if (selinux_context_option && st->cntx_name)
|
|
||||||
+ if (selinux_context_option > 0 && st->cntx_name)
|
|
||||||
fprintf (stdlis, " s: %s\n", st->cntx_name);
|
|
||||||
|
|
||||||
/* acls */
|
|
||||||
- if (acls_option && (st->acls_a_len || st->acls_d_len))
|
|
||||||
+ if (acls_option > 0 && (st->acls_a_len || st->acls_d_len))
|
|
||||||
{
|
|
||||||
fprintf (stdlis, " a: ");
|
|
||||||
acls_one_line ("", ',', st->acls_a_ptr, st->acls_a_len);
|
|
||||||
@@ -717,7 +717,7 @@ xattrs_print (struct tar_stat_info const *st)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* xattrs */
|
|
||||||
- if (xattrs_option && st->xattr_map_size)
|
|
||||||
+ if (xattrs_option > 0 && st->xattr_map_size)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/src/names.c b/src/names.c
|
|
||||||
index e3bbfb6..8f238ba 100644
|
|
||||||
--- a/src/names.c
|
|
||||||
+++ b/src/names.c
|
|
||||||
@@ -439,7 +439,7 @@ handle_option (const char *str)
|
|
||||||
int i;
|
|
||||||
|
|
||||||
while (*str && isspace (*str))
|
|
||||||
- ;
|
|
||||||
+ ++str;
|
|
||||||
if (*str != '-')
|
|
||||||
return 1;
|
|
||||||
|
|
@ -1,84 +0,0 @@
|
|||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index c9d1250..dbf991a 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -79,7 +79,8 @@ AC_ARG_WITH([posix-acls],
|
|
||||||
if test "x$with_posix_acls" != "xno"; then
|
|
||||||
AC_CHECK_HEADERS(sys/acl.h,, [with_posix_acls=no])
|
|
||||||
for tar_acl_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \
|
|
||||||
- acl_to_text acl_from_text; do \
|
|
||||||
+ acl_to_text acl_from_text acl_delete_def_file \
|
|
||||||
+ acl_free; do \
|
|
||||||
test "x$with_posix_acls" = xno && break
|
|
||||||
AC_SEARCH_LIBS([$tar_acl_func], [acl pacl], [], [with_posix_acls=no])
|
|
||||||
done
|
|
||||||
diff --git a/src/xattrs.c b/src/xattrs.c
|
|
||||||
index 3137e9a..6ec34ce 100644
|
|
||||||
--- a/src/xattrs.c
|
|
||||||
+++ b/src/xattrs.c
|
|
||||||
@@ -61,6 +61,7 @@ static struct
|
|
||||||
static acl_t acl_get_file_at (int, const char *, acl_type_t);
|
|
||||||
static int acl_set_file_at (int, const char *, acl_type_t, acl_t);
|
|
||||||
static int file_has_acl_at (int, char const *, struct stat const *);
|
|
||||||
+static int acl_delete_def_file_at (int, char const *);
|
|
||||||
|
|
||||||
/* acl_get_file_at */
|
|
||||||
#define AT_FUNC_NAME acl_get_file_at
|
|
||||||
@@ -88,6 +89,17 @@ static int file_has_acl_at (int, char const *, struct stat const *);
|
|
||||||
#undef AT_FUNC_POST_FILE_PARAM_DECLS
|
|
||||||
#undef AT_FUNC_POST_FILE_ARGS
|
|
||||||
|
|
||||||
+/* acl_delete_def_file_at */
|
|
||||||
+#define AT_FUNC_NAME acl_delete_def_file_at
|
|
||||||
+#define AT_FUNC_F1 acl_delete_def_file
|
|
||||||
+#define AT_FUNC_POST_FILE_PARAM_DECLS
|
|
||||||
+#define AT_FUNC_POST_FILE_ARGS
|
|
||||||
+#include "at-func.c"
|
|
||||||
+#undef AT_FUNC_NAME
|
|
||||||
+#undef AT_FUNC_F1
|
|
||||||
+#undef AT_FUNC_POST_FILE_PARAM_DECLS
|
|
||||||
+#undef AT_FUNC_POST_FILE_ARGS
|
|
||||||
+
|
|
||||||
/* gnulib file_has_acl_at */
|
|
||||||
#define AT_FUNC_NAME file_has_acl_at
|
|
||||||
#define AT_FUNC_F1 file_has_acl
|
|
||||||
@@ -187,7 +199,8 @@ fixup_extra_acl_fields (char *ptr)
|
|
||||||
return ptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
-/* "system.posix_acl_access" */
|
|
||||||
+/* Set the "system.posix_acl_access/system.posix_acl_default" extended
|
|
||||||
+ attribute. Called only when acls_option > 0. */
|
|
||||||
static void
|
|
||||||
xattrs__acls_set (struct tar_stat_info const *st,
|
|
||||||
char const *file_name, int type,
|
|
||||||
@@ -199,15 +212,23 @@ xattrs__acls_set (struct tar_stat_info const *st,
|
|
||||||
{
|
|
||||||
/* assert (strlen (ptr) == len); */
|
|
||||||
ptr = fixup_extra_acl_fields (ptr);
|
|
||||||
-
|
|
||||||
acl = acl_from_text (ptr);
|
|
||||||
- acls_option = 1;
|
|
||||||
}
|
|
||||||
- else if (acls_option > 0)
|
|
||||||
+ else if (def)
|
|
||||||
+ {
|
|
||||||
+ /* No "default" IEEE 1003.1e ACL set for directory. At this moment,
|
|
||||||
+ FILE_NAME may already have inherited default acls from parent
|
|
||||||
+ directory; clean them up. */
|
|
||||||
+ if (acl_delete_def_file_at (chdir_fd, file_name))
|
|
||||||
+ WARNOPT (WARN_XATTR_WRITE,
|
|
||||||
+ (0, errno,
|
|
||||||
+ _("acl_delete_def_file_at: Cannot drop default POSIX ACLs "
|
|
||||||
+ "for file '%s'"),
|
|
||||||
+ file_name));
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
acl = perms2acl (st->stat.st_mode);
|
|
||||||
- else
|
|
||||||
- return; /* don't call acl functions unless we first hit an ACL, or
|
|
||||||
- --acls was passed explicitly */
|
|
||||||
|
|
||||||
if (!acl)
|
|
||||||
{
|
|
@ -1,56 +0,0 @@
|
|||||||
diff --git a/NEWS b/NEWS
|
|
||||||
index 1a264b0..c4dd8c6 100644
|
|
||||||
--- a/NEWS
|
|
||||||
+++ b/NEWS
|
|
||||||
@@ -12,6 +12,8 @@ version 1.27.1 - Sergey Poznyakoff, 2013-11-17
|
|
||||||
|
|
||||||
* Fix extracting sparse members from star archives.
|
|
||||||
|
|
||||||
+* Tar refuses to read input from and write output to a tty device.
|
|
||||||
+
|
|
||||||
|
|
||||||
version 1.27 - Sergey Poznyakoff, 2013-10-05
|
|
||||||
|
|
||||||
diff --git a/src/buffer.c b/src/buffer.c
|
|
||||||
index 4b44eaf..5ec8d31 100644
|
|
||||||
--- a/src/buffer.c
|
|
||||||
+++ b/src/buffer.c
|
|
||||||
@@ -633,6 +633,22 @@ init_buffer (void)
|
|
||||||
record_end = record_start + blocking_factor;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+check_tty (enum access_mode mode)
|
|
||||||
+{
|
|
||||||
+ /* Refuse to read archive from and write it to a tty. */
|
|
||||||
+ if (strcmp (archive_name_array[0], "-") == 0
|
|
||||||
+ && isatty (mode == ACCESS_READ ? STDIN_FILENO : STDOUT_FILENO))
|
|
||||||
+ {
|
|
||||||
+ FATAL_ERROR ((0, 0,
|
|
||||||
+ mode == ACCESS_READ
|
|
||||||
+ ? _("Refusing to read archive contents from terminal "
|
|
||||||
+ "(missing -f option?)")
|
|
||||||
+ : _("Refusing to write archive contents to terminal "
|
|
||||||
+ "(missing -f option?)")));
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* Open an archive file. The argument specifies whether we are
|
|
||||||
reading or writing, or both. */
|
|
||||||
static void
|
|
||||||
@@ -653,6 +669,7 @@ _open_archive (enum access_mode wanted_access)
|
|
||||||
|
|
||||||
/* When updating the archive, we start with reading. */
|
|
||||||
access_mode = wanted_access == ACCESS_UPDATE ? ACCESS_READ : wanted_access;
|
|
||||||
+ check_tty (access_mode);
|
|
||||||
|
|
||||||
read_full_records = read_full_records_option;
|
|
||||||
|
|
||||||
@@ -696,7 +713,6 @@ _open_archive (enum access_mode wanted_access)
|
|
||||||
enum compress_type type;
|
|
||||||
|
|
||||||
archive = STDIN_FILENO;
|
|
||||||
-
|
|
||||||
type = check_compressed_archive (&shortfile);
|
|
||||||
if (type != ct_tar && type != ct_none)
|
|
||||||
FATAL_ERROR ((0, 0,
|
|
34
tar-1.28-atime-rofs.patch
Normal file
34
tar-1.28-atime-rofs.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From 71769b9ea3c12b7fbb39fee2e9f4a4c1c36c0d0b Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Mon, 28 Jul 2014 08:13:31 +0200
|
||||||
|
Subject: [PATCH 4/9] utime & read-only FS
|
||||||
|
|
||||||
|
Ignore errors from setting utime() for source file on read-only
|
||||||
|
file-system.
|
||||||
|
|
||||||
|
Resolves: #500742
|
||||||
|
|
||||||
|
Upstream bugreport (still downstream):
|
||||||
|
http://lists.gnu.org/archive/html/bug-tar/2009-06/msg00016.html
|
||||||
|
|
||||||
|
---
|
||||||
|
src/create.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/create.c b/src/create.c
|
||||||
|
index e2f4ede..f644f23 100644
|
||||||
|
--- a/src/create.c
|
||||||
|
+++ b/src/create.c
|
||||||
|
@@ -1824,7 +1824,8 @@ dump_file0 (struct tar_stat_info *st, char const *name, char const *p)
|
||||||
|
}
|
||||||
|
else if (atime_preserve_option == replace_atime_preserve
|
||||||
|
&& fd && (is_dir || original_size != 0)
|
||||||
|
- && set_file_atime (fd, parentfd, name, st->atime) != 0)
|
||||||
|
+ && set_file_atime (fd, parentfd, name, st->atime) != 0
|
||||||
|
+ && errno != EROFS )
|
||||||
|
utime_error (p);
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
@ -1,8 +1,26 @@
|
|||||||
|
From 6400976234810f4de138ee692756072f5beaa64d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pavel Raiskup <praiskup@redhat.com>
|
||||||
|
Date: Mon, 28 Jul 2014 08:18:53 +0200
|
||||||
|
Subject: [PATCH 9/9] --posix & big (effective) sparse files can not be listed
|
||||||
|
|
||||||
|
Upstram bugreports (still downstream):
|
||||||
|
http://www.mail-archive.com/bug-tar%40gnu.org/msg03909.html
|
||||||
|
http://www.mail-archive.com/bug-tar@gnu.org/msg04489.html
|
||||||
|
|
||||||
|
Related: #916995
|
||||||
|
|
||||||
|
---
|
||||||
|
src/list.c | 1 -
|
||||||
|
src/sparse.c | 4 ++--
|
||||||
|
src/tar.h | 4 ++++
|
||||||
|
src/xheader.c | 28 +++++++++++++++++++++++++++-
|
||||||
|
4 files changed, 33 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/list.c b/src/list.c
|
diff --git a/src/list.c b/src/list.c
|
||||||
index 23613f7..ef71b4f 100644
|
index 0c7a740..ce9ce4b 100644
|
||||||
--- a/src/list.c
|
--- a/src/list.c
|
||||||
+++ b/src/list.c
|
+++ b/src/list.c
|
||||||
@@ -671,7 +671,6 @@ decode_header (union block *header, struct tar_stat_info *stat_info,
|
@@ -700,7 +700,6 @@ decode_header (union block *header, struct tar_stat_info *stat_info,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11,7 +29,7 @@ index 23613f7..ef71b4f 100644
|
|||||||
|
|
||||||
if (sparse_member_p (stat_info))
|
if (sparse_member_p (stat_info))
|
||||||
diff --git a/src/sparse.c b/src/sparse.c
|
diff --git a/src/sparse.c b/src/sparse.c
|
||||||
index 250e845..8e840cf 100644
|
index 53c1868..c8bec6b 100644
|
||||||
--- a/src/sparse.c
|
--- a/src/sparse.c
|
||||||
+++ b/src/sparse.c
|
+++ b/src/sparse.c
|
||||||
@@ -892,7 +892,7 @@ static struct tar_sparse_optab const star_optab = {
|
@@ -892,7 +892,7 @@ static struct tar_sparse_optab const star_optab = {
|
||||||
@ -33,7 +51,7 @@ index 250e845..8e840cf 100644
|
|||||||
by deleting GNU.sparse.map from 0.1 format: --sparse-version 0.1
|
by deleting GNU.sparse.map from 0.1 format: --sparse-version 0.1
|
||||||
--pax-option delete=GNU.sparse.map
|
--pax-option delete=GNU.sparse.map
|
||||||
diff --git a/src/tar.h b/src/tar.h
|
diff --git a/src/tar.h b/src/tar.h
|
||||||
index 70055af..5f52bd0 100644
|
index 3d69399..73cd11e 100644
|
||||||
--- a/src/tar.h
|
--- a/src/tar.h
|
||||||
+++ b/src/tar.h
|
+++ b/src/tar.h
|
||||||
@@ -327,6 +327,10 @@ struct tar_stat_info
|
@@ -327,6 +327,10 @@ struct tar_stat_info
|
||||||
@ -48,10 +66,10 @@ index 70055af..5f52bd0 100644
|
|||||||
struct xattr_array *xattr_map;
|
struct xattr_array *xattr_map;
|
||||||
|
|
||||||
diff --git a/src/xheader.c b/src/xheader.c
|
diff --git a/src/xheader.c b/src/xheader.c
|
||||||
index c8c54b6..ac7ff34 100644
|
index c94c6d3..0be83a4 100644
|
||||||
--- a/src/xheader.c
|
--- a/src/xheader.c
|
||||||
+++ b/src/xheader.c
|
+++ b/src/xheader.c
|
||||||
@@ -741,6 +741,20 @@ decx (void *data, char const *keyword, char const *value, size_t size)
|
@@ -742,6 +742,20 @@ decx (void *data, char const *keyword, char const *value, size_t size)
|
||||||
keyword));
|
keyword));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +90,7 @@ index c8c54b6..ac7ff34 100644
|
|||||||
void
|
void
|
||||||
xheader_decode (struct tar_stat_info *st)
|
xheader_decode (struct tar_stat_info *st)
|
||||||
{
|
{
|
||||||
@@ -754,6 +768,11 @@ xheader_decode (struct tar_stat_info *st)
|
@@ -755,6 +769,11 @@ xheader_decode (struct tar_stat_info *st)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
run_override_list (keyword_override_list, st);
|
run_override_list (keyword_override_list, st);
|
||||||
@ -84,7 +102,7 @@ index c8c54b6..ac7ff34 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -1359,7 +1378,14 @@ sparse_size_decoder (struct tar_stat_info *st,
|
@@ -1360,7 +1379,14 @@ sparse_size_decoder (struct tar_stat_info *st,
|
||||||
{
|
{
|
||||||
uintmax_t u;
|
uintmax_t u;
|
||||||
if (decode_num (&u, arg, TYPE_MAXIMUM (off_t), keyword))
|
if (decode_num (&u, arg, TYPE_MAXIMUM (off_t), keyword))
|
||||||
@ -100,3 +118,6 @@ index c8c54b6..ac7ff34 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
@ -1,8 +1,23 @@
|
|||||||
|
From 914bb84cb71ebb63c40bc27f4d017cc0a0a39bf2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Mon, 28 Jul 2014 08:15:14 +0200
|
||||||
|
Subject: [PATCH 6/9] Add documentation which was not yet pushed upstream
|
||||||
|
|
||||||
|
Upstream bugreport:
|
||||||
|
http://lists.gnu.org/archive/html/bug-tar/2012-08/msg00012.html
|
||||||
|
http://www.mail-archive.com/bug-tar@gnu.org/msg04135.html
|
||||||
|
|
||||||
|
Related: #996753
|
||||||
|
|
||||||
|
---
|
||||||
|
doc/tar.texi | 276 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 276 insertions(+)
|
||||||
|
|
||||||
diff --git a/doc/tar.texi b/doc/tar.texi
|
diff --git a/doc/tar.texi b/doc/tar.texi
|
||||||
index d678db9..ab8a0c8 100644
|
index db79824..a000f3f 100644
|
||||||
--- a/doc/tar.texi
|
--- a/doc/tar.texi
|
||||||
+++ b/doc/tar.texi
|
+++ b/doc/tar.texi
|
||||||
@@ -162,6 +163,7 @@ How to Create Archives
|
@@ -161,6 +161,7 @@ How to Create Archives
|
||||||
How to List Archives
|
How to List Archives
|
||||||
|
|
||||||
* list dir::
|
* list dir::
|
||||||
@ -10,7 +25,7 @@ index d678db9..ab8a0c8 100644
|
|||||||
|
|
||||||
How to Extract Members from an Archive
|
How to Extract Members from an Archive
|
||||||
|
|
||||||
@@ -1492,6 +1494,7 @@ for a detailed discussion of globbing patterns and related
|
@@ -1491,6 +1492,7 @@ for a detailed discussion of globbing patterns and related
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* list dir::
|
* list dir::
|
||||||
@ -18,7 +33,7 @@ index d678db9..ab8a0c8 100644
|
|||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node list dir
|
@node list dir
|
||||||
@@ -1522,6 +1525,116 @@ drwxrwxrwx myself/user 0 1990-05-31 21:49 practice/
|
@@ -1521,6 +1523,116 @@ drwxrwxrwx myself/user 0 1990-05-31 21:49 practice/
|
||||||
When you use a directory name as a file name argument, @command{tar} acts on
|
When you use a directory name as a file name argument, @command{tar} acts on
|
||||||
all the files (including sub-directories) in that directory.
|
all the files (including sub-directories) in that directory.
|
||||||
|
|
||||||
@ -135,7 +150,7 @@ index d678db9..ab8a0c8 100644
|
|||||||
@node extract
|
@node extract
|
||||||
@section How to Extract Members from an Archive
|
@section How to Extract Members from an Archive
|
||||||
@cindex Extraction
|
@cindex Extraction
|
||||||
@@ -2371,6 +2484,10 @@ Normally when creating an archive, @command{tar} strips an initial
|
@@ -2368,6 +2480,10 @@ Normally when creating an archive, @command{tar} strips an initial
|
||||||
treats names specially if they have initial @samp{/} or internal
|
treats names specially if they have initial @samp{/} or internal
|
||||||
@samp{..}. This option disables that behavior. @xref{absolute}.
|
@samp{..}. This option disables that behavior. @xref{absolute}.
|
||||||
|
|
||||||
@ -146,7 +161,7 @@ index d678db9..ab8a0c8 100644
|
|||||||
@opsummary{after-date}
|
@opsummary{after-date}
|
||||||
@item --after-date
|
@item --after-date
|
||||||
|
|
||||||
@@ -2919,6 +3036,11 @@ contents have changed (as opposed to just @option{--newer}, which will
|
@@ -2953,6 +3069,11 @@ contents have changed (as opposed to just @option{--newer}, which will
|
||||||
also back up files for which any status information has
|
also back up files for which any status information has
|
||||||
changed). @xref{after}.
|
changed). @xref{after}.
|
||||||
|
|
||||||
@ -158,7 +173,7 @@ index d678db9..ab8a0c8 100644
|
|||||||
@opsummary{no-anchored}
|
@opsummary{no-anchored}
|
||||||
@item --no-anchored
|
@item --no-anchored
|
||||||
An exclude pattern can match any subsequence of the name's components.
|
An exclude pattern can match any subsequence of the name's components.
|
||||||
@@ -3002,11 +3124,20 @@ locations. Usually @command{tar} determines automatically whether
|
@@ -3036,11 +3157,20 @@ locations. Usually @command{tar} determines automatically whether
|
||||||
the archive can be seeked or not. Use this option to disable this
|
the archive can be seeked or not. Use this option to disable this
|
||||||
mechanism.
|
mechanism.
|
||||||
|
|
||||||
@ -179,7 +194,7 @@ index d678db9..ab8a0c8 100644
|
|||||||
@opsummary{no-wildcards}
|
@opsummary{no-wildcards}
|
||||||
@item --no-wildcards
|
@item --no-wildcards
|
||||||
Do not use wildcards.
|
Do not use wildcards.
|
||||||
@@ -3239,6 +3370,11 @@ in cases when such recognition fails. It takes effect only if the
|
@@ -3286,6 +3416,11 @@ in cases when such recognition fails. It takes effect only if the
|
||||||
archive is open for reading (e.g. with @option{--list} or
|
archive is open for reading (e.g. with @option{--list} or
|
||||||
@option{--extract} options).
|
@option{--extract} options).
|
||||||
|
|
||||||
@ -191,7 +206,7 @@ index d678db9..ab8a0c8 100644
|
|||||||
@opsummary{show-defaults}
|
@opsummary{show-defaults}
|
||||||
@item --show-defaults
|
@item --show-defaults
|
||||||
|
|
||||||
@@ -3466,6 +3602,11 @@ Enable or disable warning messages identified by @var{keyword}. The
|
@@ -3541,6 +3676,11 @@ Enable or disable warning messages identified by @var{keyword}. The
|
||||||
messages are suppressed if @var{keyword} is prefixed with @samp{no-}.
|
messages are suppressed if @var{keyword} is prefixed with @samp{no-}.
|
||||||
@xref{warnings}.
|
@xref{warnings}.
|
||||||
|
|
||||||
@ -203,7 +218,7 @@ index d678db9..ab8a0c8 100644
|
|||||||
@opsummary{wildcards}
|
@opsummary{wildcards}
|
||||||
@item --wildcards
|
@item --wildcards
|
||||||
Use wildcards when matching member names with patterns.
|
Use wildcards when matching member names with patterns.
|
||||||
@@ -4218,6 +4359,11 @@ tar (child): trying gzip
|
@@ -4363,6 +4503,11 @@ failed, switched to @command{gzip}.
|
||||||
@cindex @samp{Record size = %lu blocks}, warning message
|
@cindex @samp{Record size = %lu blocks}, warning message
|
||||||
@item record-size
|
@item record-size
|
||||||
@samp{Record size = %lu blocks}
|
@samp{Record size = %lu blocks}
|
||||||
@ -215,7 +230,7 @@ index d678db9..ab8a0c8 100644
|
|||||||
@end table
|
@end table
|
||||||
|
|
||||||
@subheading Keywords controlling incremental extraction:
|
@subheading Keywords controlling incremental extraction:
|
||||||
@@ -8770,6 +8916,8 @@ implementation able to read @samp{ustar} archives will be able to read
|
@@ -8968,6 +9113,8 @@ implementation able to read @samp{ustar} archives will be able to read
|
||||||
most @samp{posix} archives as well, with the only exception that any
|
most @samp{posix} archives as well, with the only exception that any
|
||||||
additional information (such as long file names etc.) will in such
|
additional information (such as long file names etc.) will in such
|
||||||
case be extracted as plain text files along with the files it refers to.
|
case be extracted as plain text files along with the files it refers to.
|
||||||
@ -224,7 +239,7 @@ index d678db9..ab8a0c8 100644
|
|||||||
|
|
||||||
This archive format will be the default format for future versions
|
This archive format will be the default format for future versions
|
||||||
of @GNUTAR{}.
|
of @GNUTAR{}.
|
||||||
@@ -9412,6 +9560,135 @@ Same as both @option{--same-permissions} and @option{--same-order}.
|
@@ -9607,6 +9754,135 @@ Same as both @option{--same-permissions} and @option{--same-order}.
|
||||||
|
|
||||||
This option is deprecated, and will be removed in @GNUTAR{} version 1.23.
|
This option is deprecated, and will be removed in @GNUTAR{} version 1.23.
|
||||||
|
|
||||||
@ -360,3 +375,6 @@ index d678db9..ab8a0c8 100644
|
|||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node Portability
|
@node Portability
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
@ -1,22 +1,24 @@
|
|||||||
commit 2c7692bd81946100244f022fdfa47e91afd44632 (document_exclude_mistake)
|
From 18112ded916cf62b3bd3c0ffb9530e4ade3d2209 Mon Sep 17 00:00:00 2001
|
||||||
Author: Pavel Raiskup <praiskup@redhat.com>
|
From: rpm-build <rpm-build>
|
||||||
AuthorDate: Mon Mar 31 14:22:56 2014 +0200
|
Date: Mon, 28 Jul 2014 08:16:33 +0200
|
||||||
Commit: Pavel Raiskup <praiskup@redhat.com>
|
Subject: [PATCH 7/9] Document exclude mistakes with
|
||||||
CommitDate: Mon Mar 31 14:30:02 2014 +0200
|
|
||||||
|
|
||||||
docs: document common mistake with --exclude
|
.. usually with --no-wildcards-match-slash & --anchored options.
|
||||||
|
|
||||||
The default settings of --exclude wildcard matching leads usually
|
Upstream bugreport (still downstream):
|
||||||
to --no-wildcards-match-slash option but there is not obvious that
|
http://www.mail-archive.com/bug-tar@gnu.org/msg04488.html
|
||||||
users should also turn --anchored option on.
|
|
||||||
|
|
||||||
* doc/tar.texi: Describe.
|
Related: #903666
|
||||||
|
|
||||||
|
---
|
||||||
|
doc/tar.texi | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 67 insertions(+)
|
||||||
|
|
||||||
diff --git a/doc/tar.texi b/doc/tar.texi
|
diff --git a/doc/tar.texi b/doc/tar.texi
|
||||||
index e3df0c9..395f24c 100644
|
index a000f3f..2695d22 100644
|
||||||
--- a/doc/tar.texi
|
--- a/doc/tar.texi
|
||||||
+++ b/doc/tar.texi
|
+++ b/doc/tar.texi
|
||||||
@@ -7906,6 +7906,73 @@ The following table summarizes pattern-matching default values:
|
@@ -8051,6 +8051,73 @@ The following table summarizes pattern-matching default values:
|
||||||
@item Exclusion @tab @option{--wildcards --no-anchored --wildcards-match-slash}
|
@item Exclusion @tab @option{--wildcards --no-anchored --wildcards-match-slash}
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@ -90,3 +92,6 @@ index e3df0c9..395f24c 100644
|
|||||||
@node quoting styles
|
@node quoting styles
|
||||||
@section Quoting Member Names
|
@section Quoting Member Names
|
||||||
|
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
@ -1,8 +1,19 @@
|
|||||||
|
From 60d08c6d82f0c33a6704c79afd416902eb8c663f Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Mon, 28 Jul 2014 08:08:50 +0200
|
||||||
|
Subject: [PATCH 1/9] Stop issuing lone zero block warnings (downstram)
|
||||||
|
|
||||||
|
Resolves: #135601
|
||||||
|
|
||||||
|
---
|
||||||
|
src/list.c | 11 +++++++++++
|
||||||
|
1 file changed, 11 insertions(+)
|
||||||
|
|
||||||
diff --git a/src/list.c b/src/list.c
|
diff --git a/src/list.c b/src/list.c
|
||||||
index cf2de09..f4e6e0a 100644
|
index b4277e0..0c7a740 100644
|
||||||
--- a/src/list.c
|
--- a/src/list.c
|
||||||
+++ b/src/list.c
|
+++ b/src/list.c
|
||||||
@@ -212,6 +212,14 @@ read_and (void (*do_something) (void))
|
@@ -240,6 +240,14 @@ read_and (void (*do_something) (void))
|
||||||
|
|
||||||
if (!ignore_zeros_option)
|
if (!ignore_zeros_option)
|
||||||
{
|
{
|
||||||
@ -17,7 +28,7 @@ index cf2de09..f4e6e0a 100644
|
|||||||
char buf[UINTMAX_STRSIZE_BOUND];
|
char buf[UINTMAX_STRSIZE_BOUND];
|
||||||
|
|
||||||
status = read_header (¤t_header, ¤t_stat_info,
|
status = read_header (¤t_header, ¤t_stat_info,
|
||||||
@@ -221,6 +229,9 @@ read_and (void (*do_something) (void))
|
@@ -249,6 +257,9 @@ read_and (void (*do_something) (void))
|
||||||
WARNOPT (WARN_ALONE_ZERO_BLOCK,
|
WARNOPT (WARN_ALONE_ZERO_BLOCK,
|
||||||
(0, 0, _("A lone zero block at %s"),
|
(0, 0, _("A lone zero block at %s"),
|
||||||
STRINGIFY_BIGINT (current_block_ordinal (), buf)));
|
STRINGIFY_BIGINT (current_block_ordinal (), buf)));
|
||||||
@ -27,3 +38,6 @@ index cf2de09..f4e6e0a 100644
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
status = prev_status;
|
status = prev_status;
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
@ -1,8 +1,23 @@
|
|||||||
|
From b451bfd224da44e93cf842f23455d755e48421dd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pavel Raiskup <praiskup@redhat.com>
|
||||||
|
Date: Mon, 28 Jul 2014 08:17:55 +0200
|
||||||
|
Subject: [PATCH 8/9] Fix for infinite loops during sparse file handling
|
||||||
|
|
||||||
|
Upstream bugreport (still downstream):
|
||||||
|
http://www.mail-archive.com/bug-tar@gnu.org/msg04432.html
|
||||||
|
|
||||||
|
Resolves: #1082608
|
||||||
|
|
||||||
|
---
|
||||||
|
THANKS | 1 +
|
||||||
|
src/sparse.c | 48 ++++++++++++++++++++++++++++++++----------------
|
||||||
|
2 files changed, 33 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
diff --git a/THANKS b/THANKS
|
diff --git a/THANKS b/THANKS
|
||||||
index a734fb6..2da6100 100644
|
index b4c5427..e74f71c 100644
|
||||||
--- a/THANKS
|
--- a/THANKS
|
||||||
+++ b/THANKS
|
+++ b/THANKS
|
||||||
@@ -173,6 +173,7 @@ Fabio d'Alessi cars@civ.bio.unipd.it
|
@@ -175,6 +175,7 @@ Fabio d'Alessi cars@civ.bio.unipd.it
|
||||||
Frank Heckenbach frank@g-n-u.de
|
Frank Heckenbach frank@g-n-u.de
|
||||||
Frank Koenen koenfr@lidp.com
|
Frank Koenen koenfr@lidp.com
|
||||||
Franz-Werner Gergen gergen@edvulx.mpi-stuttgart.mpg.de
|
Franz-Werner Gergen gergen@edvulx.mpi-stuttgart.mpg.de
|
||||||
@ -11,7 +26,7 @@ index a734fb6..2da6100 100644
|
|||||||
Fritz Elfert fritz@fsun.triltsch.de
|
Fritz Elfert fritz@fsun.triltsch.de
|
||||||
George Chyu gschyu@ccgate.dp.beckman.com
|
George Chyu gschyu@ccgate.dp.beckman.com
|
||||||
diff --git a/src/sparse.c b/src/sparse.c
|
diff --git a/src/sparse.c b/src/sparse.c
|
||||||
index f0268f4..250e845 100644
|
index 6a97676..53c1868 100644
|
||||||
--- a/src/sparse.c
|
--- a/src/sparse.c
|
||||||
+++ b/src/sparse.c
|
+++ b/src/sparse.c
|
||||||
@@ -301,6 +301,7 @@ sparse_dump_region (struct tar_sparse_file *file, size_t i)
|
@@ -301,6 +301,7 @@ sparse_dump_region (struct tar_sparse_file *file, size_t i)
|
||||||
@ -109,3 +124,6 @@ index f0268f4..250e845 100644
|
|||||||
{
|
{
|
||||||
report_difference (file->stat_info, _("Contents differ"));
|
report_difference (file->stat_info, _("Contents differ"));
|
||||||
return false;
|
return false;
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
@ -1,24 +1,25 @@
|
|||||||
From 207b445ca7018a95f2f96d9514b8d87c80e8e11e Mon Sep 17 00:00:00 2001
|
From fecf72d73021fa47956ea551f6ccc804213452ce Mon Sep 17 00:00:00 2001
|
||||||
From: Pavel Raiskup <praiskup@redhat.com>
|
From: Pavel Raiskup <praiskup@redhat.com>
|
||||||
Date: Wed, 4 Apr 2012 18:04:53 +0200
|
Date: Wed, 4 Apr 2012 18:04:53 +0200
|
||||||
Subject: [PATCH] Bad cooperation of -C and -u options
|
Subject: [PATCH 5/9] Bad cooperation of -C and -u options
|
||||||
|
|
||||||
Previously, tar did not update archive with newly created files in archived
|
Previously, tar did not update archive with newly created files in archived
|
||||||
directory -- it failed instead with "file not found" error (because it looked
|
directory -- it failed instead with "file not found" error (because it looked
|
||||||
in bad directory in filesystem).
|
in bad directory in filesystem).
|
||||||
|
|
||||||
---
|
---
|
||||||
src/update.c | 2 +-
|
src/update.c | 2 +-
|
||||||
tests/Makefile.am | 1 +-
|
tests/Makefile.am | 1 +
|
||||||
tests/testsuite.at | 1 +-
|
tests/testsuite.at | 1 +
|
||||||
tests/update03.at | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
tests/update03.at | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
4 files changed, 65 insertions(+), 4 deletions(-)
|
4 files changed, 62 insertions(+), 1 deletion(-)
|
||||||
create mode 100644 tests/update03.at
|
create mode 100644 tests/update03.at
|
||||||
|
|
||||||
diff --git a/src/update.c b/src/update.c
|
diff --git a/src/update.c b/src/update.c
|
||||||
index e3228d4..4739e0d 100644
|
index c8fca0c..9a9c4e2 100644
|
||||||
--- a/src/update.c
|
--- a/src/update.c
|
||||||
+++ b/src/update.c
|
+++ b/src/update.c
|
||||||
@@ -159,7 +159,7 @@ update_archive (void)
|
@@ -152,7 +152,7 @@ update_archive (void)
|
||||||
|
|
||||||
for (p = dirp; *p; p += strlen (p) + 1)
|
for (p = dirp; *p; p += strlen (p) + 1)
|
||||||
addname (namebuf_name (nbuf, p),
|
addname (namebuf_name (nbuf, p),
|
||||||
@ -28,10 +29,10 @@ index e3228d4..4739e0d 100644
|
|||||||
namebuf_free (nbuf);
|
namebuf_free (nbuf);
|
||||||
free (dirp);
|
free (dirp);
|
||||||
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
index ab7d104..119f1f3 100644
|
index 6684d1d..2a2e1cc 100644
|
||||||
--- a/tests/Makefile.am
|
--- a/tests/Makefile.am
|
||||||
+++ b/tests/Makefile.am
|
+++ b/tests/Makefile.am
|
||||||
@@ -156,6 +156,7 @@ TESTSUITE_AT = \
|
@@ -208,6 +208,7 @@ TESTSUITE_AT = \
|
||||||
update.at\
|
update.at\
|
||||||
update01.at\
|
update01.at\
|
||||||
update02.at\
|
update02.at\
|
||||||
@ -40,10 +41,10 @@ index ab7d104..119f1f3 100644
|
|||||||
volume.at\
|
volume.at\
|
||||||
verbose.at\
|
verbose.at\
|
||||||
diff --git a/tests/testsuite.at b/tests/testsuite.at
|
diff --git a/tests/testsuite.at b/tests/testsuite.at
|
||||||
index 8366ef0..13f7506 100644
|
index 7f8e4c4..f1ce58f 100644
|
||||||
--- a/tests/testsuite.at
|
--- a/tests/testsuite.at
|
||||||
+++ b/tests/testsuite.at
|
+++ b/tests/testsuite.at
|
||||||
@@ -241,6 +241,7 @@ m4_include([spmvp10.at])
|
@@ -360,6 +360,7 @@ AT_BANNER([Updates])
|
||||||
m4_include([update.at])
|
m4_include([update.at])
|
||||||
m4_include([update01.at])
|
m4_include([update01.at])
|
||||||
m4_include([update02.at])
|
m4_include([update02.at])
|
||||||
@ -117,5 +118,5 @@ index 0000000..185f9eb
|
|||||||
+
|
+
|
||||||
+AT_CLEANUP
|
+AT_CLEANUP
|
||||||
--
|
--
|
||||||
1.7.7.6
|
1.9.3
|
||||||
|
|
@ -1,8 +1,26 @@
|
|||||||
|
From 90f446f9b04ab820a99b9408e68c01dc6b57056c Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Mon, 28 Jul 2014 08:10:10 +0200
|
||||||
|
Subject: [PATCH 2/9] vfat-like FS & sparse (still downstream)
|
||||||
|
|
||||||
|
Fix extracting sparse files to a file system like vfat, when
|
||||||
|
ftruncate may fail to grow the size of a file. Still downstram,
|
||||||
|
(do we need this now? ftruncate & vfat works is now OK).
|
||||||
|
|
||||||
|
Resolves: #179507
|
||||||
|
|
||||||
|
Upstream bugreport:
|
||||||
|
http://lists.gnu.org/archive/html/bug-tar/2006-02/msg00000.html
|
||||||
|
|
||||||
|
---
|
||||||
|
src/system.c | 19 ++++++++++++++++++-
|
||||||
|
1 file changed, 18 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/system.c b/src/system.c
|
diff --git a/src/system.c b/src/system.c
|
||||||
index ba4ac2d..ea88cd6 100644
|
index 9414233..37e9a3e 100644
|
||||||
--- a/src/system.c
|
--- a/src/system.c
|
||||||
+++ b/src/system.c
|
+++ b/src/system.c
|
||||||
@@ -231,8 +231,25 @@ sys_compare_links (struct stat *link_data, struct stat *stat_data)
|
@@ -243,8 +243,25 @@ sys_compare_links (struct stat *link_data, struct stat *stat_data)
|
||||||
int
|
int
|
||||||
sys_truncate (int fd)
|
sys_truncate (int fd)
|
||||||
{
|
{
|
||||||
@ -29,3 +47,6 @@ index ba4ac2d..ea88cd6 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Return nonzero if NAME is the name of a regular file, or if the file
|
/* Return nonzero if NAME is the name of a regular file, or if the file
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
@ -1,8 +1,25 @@
|
|||||||
|
From ea75b84e2408a60d75df9e68eb5683fa27209939 Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Mon, 28 Jul 2014 08:12:14 +0200
|
||||||
|
Subject: [PATCH 3/9] wildcard defaults (downstram; compatibility)
|
||||||
|
|
||||||
|
Change inclusion defaults of tar to "wildcards --anchored
|
||||||
|
--wildcards-match-slash" for compatibility reasons.
|
||||||
|
|
||||||
|
Resolves: #206841
|
||||||
|
|
||||||
|
---
|
||||||
|
doc/tar.texi | 5 ++++-
|
||||||
|
src/names.c | 5 +----
|
||||||
|
src/tar.c | 9 ++++-----
|
||||||
|
tests/exclude01.at | 1 +
|
||||||
|
4 files changed, 10 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
diff --git a/doc/tar.texi b/doc/tar.texi
|
diff --git a/doc/tar.texi b/doc/tar.texi
|
||||||
index db8f986..d70d113 100644
|
index 82c303d..db79824 100644
|
||||||
--- a/doc/tar.texi
|
--- a/doc/tar.texi
|
||||||
+++ b/doc/tar.texi
|
+++ b/doc/tar.texi
|
||||||
@@ -7597,7 +7597,7 @@ The following table summarizes pattern-matching default values:
|
@@ -7902,7 +7902,7 @@ The following table summarizes pattern-matching default values:
|
||||||
|
|
||||||
@multitable @columnfractions .3 .7
|
@multitable @columnfractions .3 .7
|
||||||
@headitem Members @tab Default settings
|
@headitem Members @tab Default settings
|
||||||
@ -11,7 +28,7 @@ index db8f986..d70d113 100644
|
|||||||
@item Exclusion @tab @option{--wildcards --no-anchored --wildcards-match-slash}
|
@item Exclusion @tab @option{--wildcards --no-anchored --wildcards-match-slash}
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@@ -12038,6 +12038,9 @@ version of this document is available at
|
@@ -12365,6 +12365,9 @@ version of this document is available at
|
||||||
@table @asis
|
@table @asis
|
||||||
@item Use of globbing patterns when listing and extracting.
|
@item Use of globbing patterns when listing and extracting.
|
||||||
|
|
||||||
@ -22,10 +39,10 @@ index db8f986..d70d113 100644
|
|||||||
extracting from or listing an archive. For example:
|
extracting from or listing an archive. For example:
|
||||||
|
|
||||||
diff --git a/src/names.c b/src/names.c
|
diff --git a/src/names.c b/src/names.c
|
||||||
index ba4d509..3911f8c 100644
|
index 594e7fd..fe3bcad 100644
|
||||||
--- a/src/names.c
|
--- a/src/names.c
|
||||||
+++ b/src/names.c
|
+++ b/src/names.c
|
||||||
@@ -966,10 +966,7 @@ collect_and_sort_names (void)
|
@@ -1200,10 +1200,7 @@ collect_and_sort_names (void)
|
||||||
|
|
||||||
if (name->found_count || name->directory)
|
if (name->found_count || name->directory)
|
||||||
continue;
|
continue;
|
||||||
@ -38,10 +55,10 @@ index ba4d509..3911f8c 100644
|
|||||||
|
|
||||||
if (name->name[0] == 0)
|
if (name->name[0] == 0)
|
||||||
diff --git a/src/tar.c b/src/tar.c
|
diff --git a/src/tar.c b/src/tar.c
|
||||||
index 928cfdd..22d3db1 100644
|
index cd32379..79b0a10 100644
|
||||||
--- a/src/tar.c
|
--- a/src/tar.c
|
||||||
+++ b/src/tar.c
|
+++ b/src/tar.c
|
||||||
@@ -722,7 +722,7 @@ static struct argp_option options[] = {
|
@@ -800,7 +800,7 @@ static struct argp_option options[] = {
|
||||||
{"no-ignore-case", NO_IGNORE_CASE_OPTION, 0, 0,
|
{"no-ignore-case", NO_IGNORE_CASE_OPTION, 0, 0,
|
||||||
N_("case sensitive matching (default)"), GRID+1 },
|
N_("case sensitive matching (default)"), GRID+1 },
|
||||||
{"wildcards", WILDCARDS_OPTION, 0, 0,
|
{"wildcards", WILDCARDS_OPTION, 0, 0,
|
||||||
@ -50,7 +67,7 @@ index 928cfdd..22d3db1 100644
|
|||||||
{"no-wildcards", NO_WILDCARDS_OPTION, 0, 0,
|
{"no-wildcards", NO_WILDCARDS_OPTION, 0, 0,
|
||||||
N_("verbatim string matching"), GRID+1 },
|
N_("verbatim string matching"), GRID+1 },
|
||||||
{"no-wildcards-match-slash", NO_WILDCARDS_MATCH_SLASH_OPTION, 0, 0,
|
{"no-wildcards-match-slash", NO_WILDCARDS_MATCH_SLASH_OPTION, 0, 0,
|
||||||
@@ -815,8 +815,7 @@ ARGMATCH_VERIFY (atime_preserve_args, atime_preserve_types);
|
@@ -895,8 +895,7 @@ ARGMATCH_VERIFY (atime_preserve_args, atime_preserve_types);
|
||||||
/* Wildcard matching settings */
|
/* Wildcard matching settings */
|
||||||
enum wildcards
|
enum wildcards
|
||||||
{
|
{
|
||||||
@ -60,7 +77,7 @@ index 928cfdd..22d3db1 100644
|
|||||||
disable_wildcards,
|
disable_wildcards,
|
||||||
enable_wildcards
|
enable_wildcards
|
||||||
};
|
};
|
||||||
@@ -847,7 +846,7 @@ struct tar_args /* Variables used during option parsing */
|
@@ -927,7 +926,7 @@ struct tar_args /* Variables used during option parsing */
|
||||||
| recursion_option)
|
| recursion_option)
|
||||||
|
|
||||||
#define MAKE_INCL_OPTIONS(args) \
|
#define MAKE_INCL_OPTIONS(args) \
|
||||||
@ -69,7 +86,7 @@ index 928cfdd..22d3db1 100644
|
|||||||
| (args)->include_anchored \
|
| (args)->include_anchored \
|
||||||
| (args)->matching_flags \
|
| (args)->matching_flags \
|
||||||
| recursion_option)
|
| recursion_option)
|
||||||
@@ -2347,7 +2346,7 @@ decode_options (int argc, char **argv)
|
@@ -2442,7 +2441,7 @@ decode_options (int argc, char **argv)
|
||||||
|
|
||||||
/* Warn about implicit use of the wildcards in command line arguments.
|
/* Warn about implicit use of the wildcards in command line arguments.
|
||||||
See TODO */
|
See TODO */
|
||||||
@ -79,10 +96,10 @@ index 928cfdd..22d3db1 100644
|
|||||||
/* Derive option values and check option consistency. */
|
/* Derive option values and check option consistency. */
|
||||||
|
|
||||||
diff --git a/tests/exclude01.at b/tests/exclude01.at
|
diff --git a/tests/exclude01.at b/tests/exclude01.at
|
||||||
index 778a7fc..bd65ae0 100644
|
index 27dd9fe..61e5910 100644
|
||||||
--- a/tests/exclude01.at
|
--- a/tests/exclude01.at
|
||||||
+++ b/tests/exclude01.at
|
+++ b/tests/exclude01.at
|
||||||
@@ -59,6 +59,7 @@ testdir/dir2/file2
|
@@ -61,6 +61,7 @@ testdir/dir2/file2
|
||||||
testdir/dir3/
|
testdir/dir3/
|
||||||
NEXT
|
NEXT
|
||||||
testdir/dir1/*
|
testdir/dir1/*
|
||||||
@ -90,3 +107,6 @@ index 778a7fc..bd65ae0 100644
|
|||||||
NEXT
|
NEXT
|
||||||
testdir/dir1/*
|
testdir/dir1/*
|
||||||
NEXT
|
NEXT
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
124
tar.spec
124
tar.spec
@ -4,102 +4,25 @@
|
|||||||
Summary: A GNU file archiving program
|
Summary: A GNU file archiving program
|
||||||
Name: tar
|
Name: tar
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
Version: 1.27.1
|
Version: 1.28
|
||||||
Release: 5%{?dist}
|
Release: 1%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Applications/Archiving
|
Group: Applications/Archiving
|
||||||
URL: http://www.gnu.org/software/tar/
|
URL: http://www.gnu.org/software/tar/
|
||||||
|
|
||||||
Source0: ftp://ftp.gnu.org/pub/gnu/tar/tar-%{version}.tar.xz
|
Source0: ftp://ftp.gnu.org/pub/gnu/tar/tar-%{version}.tar.xz
|
||||||
Source1: ftp://ftp.gnu.org/pub/gnu/tar/tar-%{version}.tar.xz.sig
|
Source1: ftp://ftp.gnu.org/pub/gnu/tar/tar-%{version}.tar.xz.sig
|
||||||
# Manpage for tar and gtar, a bit modified help2man generated manpage
|
|
||||||
Source2: tar.1
|
|
||||||
|
|
||||||
# Stop issuing lone zero block warnings.
|
|
||||||
# ~> https://bugzilla.redhat.com/show_bug.cgi?id=135601
|
|
||||||
# ~> downstream
|
|
||||||
Patch1: tar-1.14-loneZeroWarning.patch
|
|
||||||
|
|
||||||
# Fix extracting sparse files to a file system like vfat, when ftruncate may fail
|
|
||||||
# to grow the size of a file.
|
|
||||||
# ~> #179507,
|
|
||||||
# ~> http://lists.gnu.org/archive/html/bug-tar/2006-02/msg00000.html
|
|
||||||
# ~> still downtream (do we need this now? ftruncate & vfat works is now OK)
|
|
||||||
Patch2: tar-1.15.1-vfatTruncate.patch
|
|
||||||
|
|
||||||
# Change inclusion defaults of tar to
|
|
||||||
# "--wildcards --anchored --wildcards-match-slash" for compatibility reasons.
|
|
||||||
# ~> #206841
|
|
||||||
# ~> downstream (compatibility)
|
|
||||||
Patch3: tar-1.17-wildcards.patch
|
|
||||||
|
|
||||||
# Ignore errors from setting utime() for source file on read-only file-system.
|
|
||||||
# ~> #500742
|
|
||||||
# ~> http://lists.gnu.org/archive/html/bug-tar/2009-06/msg00016.html
|
|
||||||
# ~> still downstream
|
|
||||||
Patch4: tar-1.22-atime-rofs.patch
|
|
||||||
|
|
||||||
# Fix for bad cooperation of -C and -u options.
|
|
||||||
# ~> #688567
|
|
||||||
# ~> http://lists.gnu.org/archive/html/bug-tar/2012-02/msg00007.html
|
|
||||||
# ~> still downstream
|
|
||||||
Patch5: tar-1.26-update-with-change-directory.patch
|
|
||||||
|
|
||||||
# Do not print xattrs/selinux/acls when --no-xattrs/--no-acls/--no-selinux
|
|
||||||
# options are used during -tvv output. (TODO: merge this with xattrs patch
|
|
||||||
# once becomes upstream)
|
|
||||||
# ~> downstream (yet)
|
|
||||||
# ~> proposal: http://lists.gnu.org/archive/html/bug-tar/2013-05/msg00020.html
|
|
||||||
Patch6: tar-1.26-xattrs-printing.patch
|
|
||||||
|
|
||||||
# Add documentation which was not yet pushed upstream
|
|
||||||
# ~> downstream
|
|
||||||
# ~> #996753
|
|
||||||
Patch7: tar-1.26-docu-xattrs.patch
|
|
||||||
|
|
||||||
# The --xattrs-include or --xattrs-exclude options should imply --xattrs.
|
|
||||||
# ~> still downstream
|
|
||||||
# http://lists.gnu.org/archive/html/bug-tar/2013-05/msg00020.html
|
|
||||||
# ~> #965969
|
|
||||||
Patch8: tar-1.26-xattrs-include-implies-xattrs.patch
|
|
||||||
|
|
||||||
# Document exclude mistakes with --no-wildcards-match-slash & --anchored
|
|
||||||
# ~> downstream
|
|
||||||
# http://www.mail-archive.com/bug-tar@gnu.org/msg04488.html
|
|
||||||
# ~> related to #903666
|
|
||||||
Patch9: tar-1.27.1-document-exclude-mistakes.patch
|
|
||||||
|
|
||||||
# Extract default ACLs which are stored in archive if --acls is passed.
|
|
||||||
# ~> upstream (7fe7adcbb985)
|
|
||||||
# http://www.mail-archive.com/bug-tar@gnu.org/msg04355.html
|
|
||||||
# ~> #1082603
|
|
||||||
Patch10: tar-1.27.1-default-acls.patch
|
|
||||||
|
|
||||||
# Fix for infinite loops during sparse file handling
|
|
||||||
# ~> dostream
|
|
||||||
# http://www.mail-archive.com/bug-tar@gnu.org/msg04432.html
|
|
||||||
# ~> #1082608
|
|
||||||
Patch11: tar-1.27.1-sparse-inf-loops.patch
|
|
||||||
|
|
||||||
# --posix & big (effective) sparse files can not be listed
|
|
||||||
# ~> dowstream
|
|
||||||
# http://www.mail-archive.com/bug-tar%40gnu.org/msg03909.html
|
|
||||||
# http://www.mail-archive.com/bug-tar@gnu.org/msg04489.html
|
|
||||||
# ~> #916995
|
|
||||||
Patch12: tar-1.27.1-big-sparse-listing.patch
|
|
||||||
|
|
||||||
# Fix inf. loop in -T handling (v1.27.{0,1} only, thus fc21 only)
|
|
||||||
# ~> uptream (commit 8528958)
|
|
||||||
# http://www.mail-archive.com/bug-tar@gnu.org/msg04470.html
|
|
||||||
# ~> (#1083066)
|
|
||||||
Patch13: tar-1.27.1-T-eternal-loop.patch
|
|
||||||
|
|
||||||
# Refuse to read/write archive from/to terminal input/output (enhancement fc21+)
|
|
||||||
# ~> upstream (commits b0902369e7 & 7808b69)
|
|
||||||
# http://lists.gnu.org/archive/html/bug-tar/2014-03/msg00030.html
|
|
||||||
# ~> #1083075
|
|
||||||
Patch14: tar-1.27.1-dont-read-write-terminal.patch
|
|
||||||
|
|
||||||
|
# Note that all patches are documented in patch files (git format-patch format)
|
||||||
|
Patch1: tar-1.28-loneZeroWarning.patch
|
||||||
|
Patch2: tar-1.28-vfatTruncate.patch
|
||||||
|
Patch3: tar-1.28-wildcards.patch
|
||||||
|
Patch4: tar-1.28-atime-rofs.patch
|
||||||
|
Patch5: tar-1.28-update-with-change-directory.patch
|
||||||
|
Patch7: tar-1.28-docu-xattrs.patch
|
||||||
|
Patch9: tar-1.28-document-exclude-mistakes.patch
|
||||||
|
Patch11: tar-1.28-sparse-inf-loops.patch
|
||||||
|
Patch12: tar-1.28-big-sparse-listing.patch
|
||||||
|
|
||||||
# run "make check" by default
|
# run "make check" by default
|
||||||
%bcond_without check
|
%bcond_without check
|
||||||
@ -133,22 +56,7 @@ If you want to use tar for remote backups, you also need to install
|
|||||||
the rmt package on the remote box.
|
the rmt package on the remote box.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -p1
|
||||||
%patch1 -p1 -b .loneZeroWarning
|
|
||||||
%patch2 -p1 -b .vfatTruncate
|
|
||||||
%patch3 -p1 -b .wildcards
|
|
||||||
%patch4 -p1 -b .rofs
|
|
||||||
%patch5 -p1 -b .update_and_changedir
|
|
||||||
%patch6 -p1 -b .print-xattrs-fix
|
|
||||||
%patch7 -p1 -b .xattrs-documentation
|
|
||||||
%patch8 -p1 -b .xattrs-if-xattrs-include
|
|
||||||
%patch9 -p1 -b .document-exclude-mistakes
|
|
||||||
%patch10 -p1 -b .default-acls
|
|
||||||
%patch11 -p1 -b .inf-loops-in-sparse
|
|
||||||
%patch12 -p1 -b .big-sparse
|
|
||||||
%patch13 -p1 -b .T-eternal-loop
|
|
||||||
%patch14 -p1 -b .terminal-input-output
|
|
||||||
|
|
||||||
autoreconf -v
|
autoreconf -v
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -168,11 +76,11 @@ make DESTDIR=$RPM_BUILD_ROOT install
|
|||||||
ln -s tar $RPM_BUILD_ROOT%{_bindir}/gtar
|
ln -s tar $RPM_BUILD_ROOT%{_bindir}/gtar
|
||||||
rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
|
rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
|
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
|
||||||
install -c -p -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1
|
|
||||||
ln -s tar.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/gtar.1
|
ln -s tar.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/gtar.1
|
||||||
|
|
||||||
# XXX Nuke unpackaged files.
|
# XXX Nuke unpackaged files.
|
||||||
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/rmt
|
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/rmt
|
||||||
|
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rmt.8*
|
||||||
|
|
||||||
%find_lang %name
|
%find_lang %name
|
||||||
|
|
||||||
@ -206,6 +114,10 @@ fi
|
|||||||
%{_infodir}/tar.info*
|
%{_infodir}/tar.info*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 28 2014 Pavel Raiskup <praiskup@redhat.com> - 1.28-1
|
||||||
|
- rebase to new upstream tarball, per release notes:
|
||||||
|
https://savannah.gnu.org/forum/forum.php?forum_id=8037
|
||||||
|
|
||||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:1.27.1-5
|
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:1.27.1-5
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user