Package: tar
Version: 1.24-1
Severity: normal
Tags: patch pending

Hi,
As discussed with cworth on IRC yesterday, I've prepared an NMU for tar
(versioned as 1.24-1.1) which I will upload directly to sid (assuming my
smoke-testing is successful), to try to avoid packages intended for squeeze
mis-building.

I haven't attempted to fix the FTBFS on kFreeBSD, since this just causes
kFreeBSD to keep the older version from squeeze, which seems acceptable.

My changes can be found here: http://git.debian.org/?p=users/smcv/qa/tar.git
(the master branch).

It would be useful if you'd consider putting extend-diff-ignore='\.gitignore$'
in debian/source/options or debian/source/local-options, so that naive builds
from git produce the same diffs as were uploaded to Debian in the past;
however, I didn't think this was appropriate for an NMU.

Regards,
    Simon
diffstat for tar_1.24-1 tar_1.24-1.1

 src/extract.c             |    4 ++--
 tar-1.24/debian/changelog |   11 +++++++++++
 tar-1.24/debian/control   |    2 ++
 tests/Makefile.am         |    1 +
 tests/extrac16.at         |   36 ++++++++++++++++++++++++++++++++++++
 tests/testsuite.at        |    1 +
 6 files changed, 53 insertions(+), 2 deletions(-)

diff -u tar-1.24/debian/control tar-1.24/debian/control
--- tar-1.24/debian/control
+++ tar-1.24/debian/control
@@ -5,6 +5,8 @@
 Uploaders: Carl Worth <[email protected]>
 Build-Depends: debhelper (>> 5), gettext, autoconf, autotools-dev
 Standards-Version: 3.9.1
+Vcs-Git: git://git.gag.com/debian/tar
+Vcs-Browser: http://git.gag.com/?p=debian/tar
 
 Package: tar
 Architecture: any
diff -u tar-1.24/debian/changelog tar-1.24/debian/changelog
--- tar-1.24/debian/changelog
+++ tar-1.24/debian/changelog
@@ -1,3 +1,14 @@
+tar (1.24-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Apply upstream commit 39136756 to fix extraction of device nodes
+    (Closes: #602184)
+  * Apply upstream commit acb77ac5 to fix extraction of directories
+    while using the -C option (Closes: #602209, #602413)
+  * Add Vcs-Git, Vcs-Browser fields to debian/control (Closes: #602639)
+
+ -- Simon McVittie <[email protected]>  Sat, 06 Nov 2010 19:07:16 +0000
+
 tar (1.24-1) unstable; urgency=low
 
   * new upstream version
only in patch2:
unchanged:
--- tar-1.24.orig/src/extract.c
+++ tar-1.24/src/extract.c
@@ -777,7 +777,7 @@
 
   for (;;)
     {
-      status = mkdir (file_name, mode);
+      status = mkdirat (chdir_fd, file_name, mode);
       if (status == 0)
 	{
 	  current_mode = mode & ~ current_umask;
@@ -1191,7 +1191,7 @@
 extract_node (char *file_name, int typeflag)
 {
   bool interdir_made = false;
-  mode_t mode = (current_stat_info.stat.st_mode & MODE_RWX
+  mode_t mode = (current_stat_info.stat.st_mode & (MODE_RWX | S_IFBLK | S_IFCHR)
 		 & ~ (0 < same_owner_option ? S_IRWXG | S_IRWXO : 0));
 
   while (mknodat (chdir_fd, file_name, mode, current_stat_info.stat.st_rdev)
only in patch2:
unchanged:
--- tar-1.24.orig/tests/extrac16.at
+++ tar-1.24/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
only in patch2:
unchanged:
--- tar-1.24.orig/tests/testsuite.at
+++ tar-1.24/tests/testsuite.at
@@ -154,6 +154,7 @@
 m4_include([extrac13.at])
 m4_include([extrac14.at])
 m4_include([extrac15.at])
+m4_include([extrac16.at])
 
 m4_include([label01.at])
 m4_include([label02.at])
only in patch2:
unchanged:
--- tar-1.24.orig/tests/Makefile.am
+++ tar-1.24/tests/Makefile.am
@@ -82,6 +82,7 @@
  extrac13.at\
  extrac14.at\
  extrac15.at\
+ extrac16.at\
  filerem01.at\
  filerem02.at\
  gzip.at\

Attachment: signature.asc
Description: Digital signature

Reply via email to