new upstream release 1.25

This commit is contained in:
Ondřej Vašík 2010-11-08 12:07:14 +01:00
parent f1b6067c54
commit 3572b22233
5 changed files with 12 additions and 147 deletions

2
.gitignore vendored
View File

@ -2,3 +2,5 @@ tar-1.23.tar.bz2
tar-1.23.tar.bz2.sig
/tar-1.24.tar.xz
/tar-1.24.tar.xz.sig
/tar-1.25.tar.xz
/tar-1.25.tar.xz.sig

View File

@ -1,2 +1,2 @@
debae443de7e1c61cd24c2d53bca50c6 tar-1.24.tar.xz
c4beee21bbab83cd022093825371eed5 tar-1.24.tar.xz.sig
1b3b391087f4baf70ccad8bd92e4db11 tar-1.25.tar.xz
bc574a334e6f7bb6a7feb41ff4b2b080 tar-1.25.tar.xz.sig

View File

@ -1,32 +0,0 @@
diff -urNp tar-1.22-orig/src/create.c tar-1.22/src/create.c
--- tar-1.22-orig/src/create.c 2009-07-09 18:38:37.000000000 +0200
+++ tar-1.22/src/create.c 2009-07-09 18:43:44.000000000 +0200
@@ -578,7 +578,10 @@ write_gnu_long_link (struct tar_stat_inf
GNAME_TO_CHARS (tmpname, header->header.gname);
free (tmpname);
- strcpy (header->header.magic, OLDGNU_MAGIC);
+ /* OLDGNU_MAGIC is string with 7 chars + NULL */
+ strncpy (header->header.magic, OLDGNU_MAGIC, sizeof(header->header.magic));
+ strncpy (header->header.version, OLDGNU_MAGIC+sizeof(header->header.magic),
+ sizeof(header->header.version));
header->header.typeflag = type;
finish_header (st, header, -1);
@@ -908,9 +911,13 @@ start_header (struct tar_stat_info *st)
break;
case OLDGNU_FORMAT:
- case GNU_FORMAT: /*FIXME?*/
- /* Overwrite header->header.magic and header.version in one blow. */
- strcpy (header->header.magic, OLDGNU_MAGIC);
+ case GNU_FORMAT:
+ /* OLDGNU_MAGIC is string with 7 chars + NULL */
+ strncpy (header->header.magic, OLDGNU_MAGIC,
+ sizeof(header->header.magic));
+ strncpy (header->header.version,
+ OLDGNU_MAGIC+sizeof(header->header.magic),
+ sizeof(header->header.version));
break;
case POSIX_FORMAT:

View File

@ -1,98 +0,0 @@
tar: fix bug with -C and extracting directories
Problem reported by Denis Excoffier in
<http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00034.html>.
* src/extract.c (extract_dir): Use mkdirat, not mkdir.
* tests/extrac16.at: New file, to test for this bug.
* tests/Makefile.am (TESTSUITE_AT): Add it.
* tests/testsuite.at: Include it.
---
src/extract.c | 2 +-
tests/Makefile.am | 1 +
tests/extrac16.at | 36 ++++++++++++++++++++++++++++++++++++
tests/testsuite.at | 1 +
4 files changed, 39 insertions(+), 1 deletions(-)
create mode 100644 tests/extrac16.at
diff --git a/src/extract.c b/src/extract.c
index 0d23d4a..98236ac 100644
--- a/src/extract.c
+++ b/src/extract.c
@@ -777,7 +777,7 @@ extract_dir (char *file_name, int typeflag)
for (;;)
{
- status = mkdir (file_name, mode);
+ status = mkdirat (chdir_fd, file_name, mode);
if (status == 0)
{
current_mode = mode & ~ current_umask;
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d29563a..b71e83c 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -82,6 +82,7 @@ TESTSUITE_AT = \
extrac13.at\
extrac14.at\
extrac15.at\
+ extrac16.at\
filerem01.at\
filerem02.at\
gzip.at\
diff --git a/tests/extrac16.at b/tests/extrac16.at
new file mode 100644
index 0000000..625e579
--- /dev/null
+++ b/tests/extrac16.at
@@ -0,0 +1,36 @@
+# 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, see <http://www.gnu.org/licenses/>.
+
+# written by Paul Eggert from a bug report by Denis Excoffier
+# <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00034.html>
+
+# Check extraction of empty directory with -C.
+
+AT_SETUP([extract empty directory with -C])
+AT_KEYWORDS([extract extrac16])
+
+AT_TAR_CHECK([
+mkdir src src/a src/a/b dest
+touch src/a/c
+
+tar -cf archive.tar -C src a &&
+tar -xf archive.tar -C dest
+],
+[0],[],[],[],[],[gnu])
+
+AT_CLEANUP
diff --git a/tests/testsuite.at b/tests/testsuite.at
index c386892..40f0e41 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -154,6 +154,7 @@ m4_include([extrac12.at])
m4_include([extrac13.at])
m4_include([extrac14.at])
m4_include([extrac15.at])
+m4_include([extrac16.at])
m4_include([label01.at])
m4_include([label02.at])
--
1.7.2

View File

@ -4,7 +4,7 @@
Summary: A GNU file archiving program
Name: tar
Epoch: 2
Version: 1.24
Version: 1.25
Release: 1%{?dist}
License: GPLv3+
Group: Applications/Archiving
@ -26,17 +26,10 @@ Patch4: tar-1.17-wildcards.patch
#ignore errors from setting utime() for source file
#on read-only filesystem (#500742)
Patch5: tar-1.22-atime-rofs.patch
#Do not sigabrt with new gcc/glibc because of writing to
#struct members of gnutar header at once via strcpy
Patch6: tar-1.22-fortifysourcessigabrt.patch
#oldarchive option was not working(#594044)
Patch7: tar-1.23-oldarchive.patch
#match non-stripped file names (#637085)
Patch8: tar-1.24-stripcomponents.patch
#fix bug with -C and extracting directories
Patch9: tar-1.24-extractingdirs.patch
Patch6: tar-1.23-oldarchive.patch
#temporarily disable sigpipe.at patch (fails at build in koji, passes manually)
Patch10: tar-sigpipe.patch
Patch7: tar-sigpipe.patch
Requires: info
BuildRequires: autoconf automake gzip texinfo gettext libacl-devel gawk rsh
%if %{WITH_SELINUX}
@ -65,11 +58,8 @@ the rmt package.
%patch3 -p1 -b .xattrs
%patch4 -p1 -b .wildcards
%patch5 -p1 -b .rofs
%patch6 -p1 -b .fortify
%patch7 -p1 -b .oldarchive
%patch9 -p1 -b .extractC
%patch8 -p1 -b .stripcomponents
%patch10 -p1 -b .fail
%patch6 -p1 -b .oldarchive
%patch7 -p1 -b .fail
autoreconf
@ -131,6 +121,9 @@ fi
%{_infodir}/tar.info*
%changelog
* Mon Nov 08 2010 Ondrej Vasik <ovasik@redhat.com> 2:1.25-1
- new upstream release 1.25
* Mon Oct 25 2010 Ondrej Vasik <ovasik@redhat.com> 2:1.24-1
- new upstream release 1.24, use .xz archive