rebase: latest upstream release v1.32

Per upstream release notes:
http://lists.gnu.org/archive/html/info-gnu/2019-02/msg00010.html

Version: 1.32-1
This commit is contained in:
Pavel Raiskup 2019-02-25 08:20:57 +01:00
parent 94fab14c4b
commit 107107ad1f
4 changed files with 8 additions and 358 deletions

View File

@ -1,2 +1,2 @@
SHA512 (tar-1.31.tar.xz) = 2185fbbe53d4fe3eb688ebc8c2fa800db2599a282c07007358d0a011394aafcf27a80600d044bb4fc299a172d3d95f953106be651db33eb6e5555bd24cad02aa
SHA512 (tar-1.31.tar.xz.sig) = bdf5e6280c07aceb3277b6f57e20a7de01124de5de24e9457738dd70f8702ac7487fb6161f9383db151c1bddb4e5fca8b016e72631ce7bced6b38cf5ca56b990
SHA512 (tar-1.32.tar.xz) = 1bd13854009b6ee08958481738e6bf661e40216a2befe461d06b4b350eb882e431b3a4eeea7ca1d35d37102df76194c9d933df2b18b3c5401350e9fc17017750
SHA512 (tar-1.32.tar.xz.sig) = 28eaf5db3ad32b50ce08891e245a84482771eef37b62c4266d9867f7504e0b9f6ad9fc05a53efda531bcb7e7bdfdc79bace81785d1a12556a355821db9bbd7d8

View File

@ -1,81 +0,0 @@
From f86722c34c92f265bc9a20cb171d2fcfeab7d341 Mon Sep 17 00:00:00 2001
From: Sergey Poznyakoff <gray@gnu.org>
Date: Mon, 14 Jan 2019 12:26:59 +0200
Subject: [PATCH] Fix expected output in dirrem tests.
In both tests, the "file changed as we read it" warning might be
produced for dir/sub, depending on the ctime resolution and timing.
The problem was fixed by 64b43fdf70d82c39eb2ca900cd4f8e49, but regressed
after e7cd377f7801d42aa8e07addff93d2150666c237, which removed 1 second
delays between each pair of checkpoints. Since the presense or absense
of this warning is irrelevant for the test, it is now suppressed.
* tests/dirrem01.at: Suppress the file-changed warning.
* tests/dirrem02.at: Likewise.
---
tests/dirrem01.at | 15 ++++++++++-----
tests/dirrem02.at | 5 +++--
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/tests/dirrem01.at b/tests/dirrem01.at
index 0a9c9e5..24bf392 100644
--- a/tests/dirrem01.at
+++ b/tests/dirrem01.at
@@ -27,9 +27,13 @@
# it prints a warning and exits with TAREXIT_DIFFERS.
#
# This test checks whether this behaviour is mimicked for directories, too.
-
-# Remark: This file is based on 'filerem01.at', which is the test-case for
-# a vanishing file.
+#
+# Notes:
+# 1. This file is based on 'filerem01.at', which is the test-case for
+# a vanishing file.
+# 2. Depending on the stat.st_ctime resolution, the "file changed as we
+# read it" warning might be issued for dir/sub. The test takes care to
+# suppress it.
AT_SETUP([directory removed before reading])
AT_KEYWORDS([create incremental listed dirchange dirrem dirrem01])
@@ -48,13 +52,14 @@ esac
genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
tar --blocking-factor=1 -c -f archive.tar \
- --listed-incremental db -v dir >/dev/null
+ --listed-incremental db \
+ --warning=no-file-changed \
+ -v dir >/dev/null
],
[1],
[ignore],
[tar: dir: Directory is new
tar: dir/sub: Directory is new
-tar: dir/sub: file changed as we read it
tar: dir/sub: File removed before we read it
],[],[],[gnu,posix])
diff --git a/tests/dirrem02.at b/tests/dirrem02.at
index c314484..3c63bbe 100644
--- a/tests/dirrem02.at
+++ b/tests/dirrem02.at
@@ -45,13 +45,14 @@ esac
genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
tar --blocking-factor=1 -c -f archive.tar \
- --listed-incremental db -v dir dir/sub >/dev/null
+ --listed-incremental db \
+ --warning=no-file-changed \
+ -v dir dir/sub >/dev/null
],
[2],
[ignore],
[tar: dir: Directory is new
tar: dir/sub: Directory is new
-tar: dir/sub: file changed as we read it
tar: dir/sub: Cannot open: No such file or directory
tar: Exiting with failure status due to previous errors
],[],[],[gnu,posix])
--
2.20.1

View File

@ -1,271 +0,0 @@
From 9af3ae33108e5a1d281d75d29938fe8c6ffcd218 Mon Sep 17 00:00:00 2001
From: Sergey Poznyakoff <gray@gnu.org>
Date: Mon, 14 Jan 2019 18:08:21 +0200
Subject: [PATCH] Fix compression tests
Existing compression tests used tar with compiled-in defaults. However,
some of the defaults are sure to create archives that are not byte-to-byte
reproducible (e.g. DEFAULT_ARCHIVE_FORMAT=POSIX, because the name field
in posix extended headers uses PID of the creating process by default).
Moreover, some compressors (e.g. gzip) store current timestamp in
the file header when compressing from stdin, so that using cmp on the
two created archives as the tests did is error-prone. Another problem
is that the tests implicitly assumed that tar uses archive suffix to
recognize its format when extracting, which isn't the case. Finally,
there's hardly any reason in using sed to create m4 sources, when
everything can be achieved by m4 itself.
* tests/Makefile.am: Remove generation of compress-*.at files.
* tests/compress.at.in: Remove.
* tests/compress.m4: New file.
* tests/testsuite.at: Include compress.m4, use TAR_CHECK_COMPRESS to
check compression options.
---
tests/Makefile.am | 45 ++---------------------------
tests/compress.at.in | 67 --------------------------------------------
tests/compress.m4 | 56 ++++++++++++++++++++++++++++++++++++
tests/testsuite.at | 13 +++++----
4 files changed, 65 insertions(+), 116 deletions(-)
delete mode 100644 tests/compress.at.in
create mode 100644 tests/compress.m4
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 4750acb..a29f626 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -19,7 +19,7 @@
EXTRA_DIST = $(TESTSUITE_AT) \
testsuite package.m4 star/README star/quicktest.sh \
- compress.at.in
+ compress.m4
DISTCLEANFILES = atconfig $(check_SCRIPTS)
MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
@@ -47,6 +47,7 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
TESTSUITE_AT = \
testsuite.at\
+ compress.m4\
T-cd.at\
T-dir00.at\
T-dir01.at\
@@ -70,12 +71,6 @@ TESTSUITE_AT = \
chtype.at\
comprec.at\
comperr.at\
- compress-zstd.at\
- compress-xz.at\
- compress-bzip2.at\
- compress-gzip.at\
- compress-lzip.at\
- compress-lzop.at\
delete01.at\
delete02.at\
delete03.at\
@@ -277,42 +272,6 @@ TESTSUITE_AT = \
selacl01.at\
capabs_raw01.at
-CLEANFILES += compress-zstd.at
-compress-zstd.at: compress.at.in
- $(AM_V_GEN)rm -rf $@ $@-t
- $(AM_V_at)sed 's/@tool@/zstd/g;s/@suff@/zst/g;s/@suff2@/tzst/g;' \
- $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
-
-CLEANFILES += compress-gzip.at
-compress-gzip.at: compress.at.in
- $(AM_V_GEN)rm -rf $@ $@-t
- $(AM_V_at)sed 's/@tool@/gzip/g;s/@suff@/gz/g;s/@suff2@/tgz/g;' \
- $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
-
-CLEANFILES += compress-xz.at
-compress-xz.at: compress.at.in
- $(AM_V_GEN)rm -rf $@ $@-t
- $(AM_V_at)sed 's/@tool@/xz/g;s/@suff@/xz/g;s/@suff2@/txz/g;' \
- $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
-
-CLEANFILES += compress-bzip2.at
-compress-bzip2.at: compress.at.in
- $(AM_V_GEN)rm -rf $@ $@-t
- $(AM_V_at)sed 's/@tool@/bzip2/g;s/@suff@/bz2/g;s/@suff2@/tbz2/g;' \
- $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
-
-CLEANFILES += compress-lzip.at
-compress-lzip.at: compress.at.in
- $(AM_V_GEN)rm -rf $@ $@-t
- $(AM_V_at)sed 's/@tool@/lzip/g;s/@suff@/lz/g;s/@suff2@//g;' \
- $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
-
-CLEANFILES += compress-lzop.at
-compress-lzop.at: compress.at.in
- $(AM_V_GEN)rm -rf $@ $@-t
- $(AM_V_at)sed 's/@tool@/lzop/g;s/@suff@/lzo/g;s/@suff2@//g;' \
- $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
-
distclean-local:
-rm -rf download
diff --git a/tests/compress.at.in b/tests/compress.at.in
deleted file mode 100644
index 91a6af2..0000000
--- a/tests/compress.at.in
+++ /dev/null
@@ -1,67 +0,0 @@
-# Process this file with autom4te to create testsuite. -*- Autotest -*-
-
-# Test suite for GNU tar.
-# Copyright 2018-2019 Free Software Foundation, Inc.
-
-# This file is part of GNU tar.
-
-# GNU tar is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-
-# GNU tar is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# tar can create/decompress @tool@-compressed tarballs
-
-AT_SETUP([compress: @tool@])
-AT_KEYWORDS([compression @tool@])
-
-unset TAR_OPTIONS
-
-AT_CHECK([
-AT_GZIP_PREREQ([@tool@])
-
-touch empty
-# Create with --@tool@:
-tar --@tool@ -cf - empty 2>err > k.tar.@suff@ || exit 1
-test -s err && exit 1
-tar tf k.tar.@suff@ 2>err > out || exit 1
-test "$(cat out)" = empty || exit 1
-test -s err && exit 1
-
-# Ensure -ac works with an -f-specified .@suff@-suffixed name.
-tar -acf k2.tar.@suff@ empty 2>err > out || exit 1
-cmp k2.tar.@suff@ k.tar.@suff@ || exit 1
-test -s err && exit 1
-
-# Extraction: ensure the .@suff@ suffix is recognized.
-rm -f empty || exit 1
-tar xf k.tar.@suff@ 2>err > out || exit 1
-test -s err && exit 1
-test -f empty || exit 1
-
-if test -n '@suff2@'; then
- # Extraction: ensure the .@suff2@ suffix is also recognized.
- mv k.tar.@suff@ k.@suff2@ || exit 1
- rm -f empty
- tar xf k.@suff2@ 2>err > out || exit 1
- test -s err && exit 1
- test -f empty || exit 1
-else
- :
-fi
-
-],
-[0],
-[],
-[],
-[],[])
-
-AT_CLEANUP
diff --git a/tests/compress.m4 b/tests/compress.m4
new file mode 100644
index 0000000..1f22632
--- /dev/null
+++ b/tests/compress.m4
@@ -0,0 +1,56 @@
+# This file is part of GNU tar testsuite. -*- Autotest -*-
+# Copyright 2018-2019 Free Software Foundation, Inc.
+#
+# GNU tar is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# GNU tar is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+dnl TAR_CHECK_COMPRESS(TOOL, SUF[, SUF2])
+dnl Tests whether tar can create archives using TOOL (i.e. using the --TOOL
+dnl command line option). SUF and optional SUF2 are suffixes for created
+dnl archives (without leading dot). Tar should be able to use TOOL to
+dnl automatically decompress archives with names ending on these suffixes.
+m4_define([TAR_CHECK_COMPRESS],
+[AT_SETUP([compress: $1])
+AT_KEYWORDS([compression compress-$1 $1])
+
+AT_CHECK([
+AT_GZIP_PREREQ($1)
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --$1
+tar --$1 -cf k.tar.$2 empty
+tar tf k.tar.$2
+
+m4_foreach([SUF], m4_quote(m4_shift($@)),
+[
+echo testing .SUF
+tar -acf k2.tar.SUF empty
+cat k2.tar.SUF | $1 -d > k.SUF.tar
+tar tf k.SUF.tar
+])
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.$2
+test -f empty
+],
+[0],
+[empty
+m4_foreach([SUF],m4_quote(m4_shift($@)),[testing .SUF
+empty
+])])
+
+AT_CLEANUP
+])
diff --git a/tests/testsuite.at b/tests/testsuite.at
index f751bcf..ce25c96 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -217,13 +217,14 @@ m4_include([opcomp05.at])
m4_include([opcomp06.at])
AT_BANNER([Compression])
-m4_include([compress-gzip.at])
-m4_include([compress-bzip2.at])
-m4_include([compress-xz.at])
+m4_include([compress.m4])
+TAR_CHECK_COMPRESS(gzip, gz, tgz)
+TAR_CHECK_COMPRESS(bzip2, bz2, tbz2)
+TAR_CHECK_COMPRESS(xz, xz, txz)
dnl: omit lzma, because it would fail due to magic number mismatch
-m4_include([compress-lzip.at])
-m4_include([compress-lzop.at])
-m4_include([compress-zstd.at])
+TAR_CHECK_COMPRESS(lzip, lz)
+TAR_CHECK_COMPRESS(lzop, lzo)
+TAR_CHECK_COMPRESS(zstd, zst, tzst)
AT_BANNER([Positional options])
m4_include([positional01.at])
--
2.20.1

View File

@ -4,8 +4,8 @@
Summary: A GNU file archiving program
Name: tar
Epoch: 2
Version: 1.31
Release: 4%{?dist}
Version: 1.32
Release: 1%{?dist}
License: GPLv3+
URL: http://www.gnu.org/software/tar/
@ -18,8 +18,6 @@ Patch2: tar-1.28-vfatTruncate.patch
Patch3: tar-1.29-wildcards.patch
Patch4: tar-1.28-atime-rofs.patch
Patch9: tar-1.28-document-exclude-mistakes.patch
Patch10: tar-1.31-dirrem-tests.patch
Patch11: tar-1.31-racy-compress-tests.patch
BuildRequires: gcc
BuildRequires: autoconf automake texinfo gettext libacl-devel
@ -113,6 +111,10 @@ make check || (
%changelog
* Mon Feb 25 2019 Pavel Raiskup <praiskup@redhat.com> - 1.32-1
- the latest upstream release, per release notes
http://lists.gnu.org/archive/html/info-gnu/2019-02/msg00010.html
* Mon Feb 04 2019 Pavel Raiskup <praiskup@redhat.com> - 1.31-4
- fix racy compress: gzip test