[arch-commits] Commit in tar/trunk (PKGBUILD tar-1.24-directory-change-issue.patch)

Allan McRae allan at archlinux.org
Sat Oct 30 08:57:44 UTC 2010


    Date: Saturday, October 30, 2010 @ 04:57:43
  Author: allan
Revision: 97410

upgpkg: tar 1.24-1
upstream update and patch

Added:
  tar/trunk/tar-1.24-directory-change-issue.patch
Modified:
  tar/trunk/PKGBUILD

---------------------------------------+
 PKGBUILD                              |   21 ++++--
 tar-1.24-directory-change-issue.patch |   97 ++++++++++++++++++++++++++++++++
 2 files changed, 112 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2010-10-30 01:21:13 UTC (rev 97409)
+++ PKGBUILD	2010-10-30 08:57:43 UTC (rev 97410)
@@ -3,8 +3,8 @@
 # Contributor: Andreas Radke <andyrtr at archlinux.org>
 
 pkgname=tar
-pkgver=1.23
-pkgrel=3
+pkgver=1.24
+pkgrel=1
 pkgdesc="Utility used to store, backup, and transport files"
 arch=('i686' 'x86_64')
 url="http://www.gnu.org/software/tar/tar.html"
@@ -15,16 +15,25 @@
 install=tar.install
 source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.bz2
         tar.1
-        tar-1.22-fortifysourcessigabrt.patch)
-md5sums=('41e2ca4b924ec7860e51b43ad06cdb7e'
+        tar-1.22-fortifysourcessigabrt.patch
+        tar-1.24-directory-change-issue.patch)
+md5sums=('ba905d8b1dcf06254e8025cc4468d8e5'
          'e0538778516a284e3558c454b2576c2f'
-         'ab85070f3b950789900adfbaac3b28da')
+         'ab85070f3b950789900adfbaac3b28da'
+         'f7598695d12918ab23ce7cb52ccffc5a')
 
 build() {
   cd ${srcdir}/$pkgname-$pkgver
+  
+  # http://www.mail-archive.com/bug-tar@gnu.org/msg02601.html
   patch -Np1 -i $srcdir/tar-1.22-fortifysourcessigabrt.patch
+  
+  # http://git.savannah.gnu.org/cgit/tar.git/commit/?id=acb77ac5
+  patch -Np1 -i $srcdir/tar-1.24-directory-change-issue.patch
+
   ./configure --prefix=/usr --libexecdir=/usr/lib/tar --bindir=/bin
-  make || return 1
+  make
+  make check
 }
   
 package() {

Added: tar-1.24-directory-change-issue.patch
===================================================================
--- tar-1.24-directory-change-issue.patch	                        (rev 0)
+++ tar-1.24-directory-change-issue.patch	2010-10-30 08:57:43 UTC (rev 97410)
@@ -0,0 +1,97 @@
+From acb77ac5bd4bf9248070c9c512525eee8258aebd Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert at cs.ucla.edu>
+Date: Tue, 26 Oct 2010 03:20:19 +0000
+Subject: 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.
+
+This file is a placeholder. It will be replaced with the actual ChangeLog
+by make dist.  Run make ChangeLog if you wish to create it earlier.
+---
+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
+--- a/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])
+--
+cgit v0.8.3.2




More information about the arch-commits mailing list