tar: fix --verify option, which broke in 1.24

* NEWS: Document this.
* src/compare.c (verify_volume): Decode the header before invoking
diff_archive, as diff_archive no longer does this as of the
2010-06-28 commit.  Also, don't try to invoke diff_archive on a
zero block.
* tests/Makefile.am (TESTSUITE_AT): Add verify.at.
* tests/testsuite.at: Include verify.at.
* tests/verify.at: New file.
This commit is contained in:
Paul Eggert
2010-11-15 00:07:53 -08:00
parent 777042e024
commit 24214ca5d5
5 changed files with 50 additions and 2 deletions

10
NEWS
View File

@@ -1,6 +1,12 @@
GNU tar NEWS - User visible changes. 2010-11-07
GNU tar NEWS - User visible changes. 2010-11-14
Please send GNU tar bug reports to <bug-tar@gnu.org>
version 1.25.90 - (Git)
* Bugfixes
** Fix the --verify option, which broke in version 1.24.
version 1.25 - Sergey Poznyakoff, 2010-11-07
@@ -27,7 +33,7 @@ are met, tar retries extraction using an alternative decompressor:
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'.
For example, if `compress' is not available, tar will try `gzip'.
version 1.24 - Sergey Poznyakoff, 2010-10-24

View File

@@ -611,8 +611,10 @@ verify_volume (void)
(0, 0, _("A lone zero block at %s"),
STRINGIFY_BIGINT (current_block_ordinal (), buf)));
}
continue;
}
decode_header (current_header, &current_stat_info, &current_format, 1);
diff_archive ();
tar_stat_destroy (&current_stat_info);
}

View File

@@ -157,6 +157,7 @@ TESTSUITE_AT = \
volsize.at\
volume.at\
verbose.at\
verify.at\
version.at\
xform-h.at\
xform01.at\

View File

@@ -232,6 +232,8 @@ m4_include([update.at])
m4_include([update01.at])
m4_include([update02.at])
m4_include([verify.at])
m4_include([volume.at])
m4_include([volsize.at])

37
tests/verify.at Normal file
View File

@@ -0,0 +1,37 @@
# Process this file with autom4te to create testsuite. -*- Autotest -*-
# Test suite for GNU tar.
# Copyright (C) 2010 Free Software Foundation, Inc.
# This program 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, or (at your option)
# any later version.
# This program 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, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# Check that tar --verify works.
# Problem reported by Gilles Espinasse in
# <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00065.html>.
AT_SETUP([verify])
AT_KEYWORDS([verify])
AT_TAR_CHECK([
touch foo
tar -cvf archive.tar --verify foo
],
[0],
[foo
Verify foo
])
AT_CLEANUP