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 <[email protected]> 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/[email protected]/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 <[email protected]> +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
