diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-10-25 05:17:27 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-10-25 05:17:27 +0000 |
commit | 45228fe820fb1b30dc22175768e5fa7c31a0232d (patch) | |
tree | 7781099a0debf87af8eaea3be3366d4467e25acf /app-arch/tar | |
parent | Version bump by Kfir Lavi (bug #342461). (diff) | |
download | gentoo-2-45228fe820fb1b30dc22175768e5fa7c31a0232d.tar.gz gentoo-2-45228fe820fb1b30dc22175768e5fa7c31a0232d.tar.bz2 gentoo-2-45228fe820fb1b30dc22175768e5fa7c31a0232d.zip |
old
Diffstat (limited to 'app-arch/tar')
-rw-r--r-- | app-arch/tar/files/tar-1.21-revert-pipe.patch | 124 | ||||
-rw-r--r-- | app-arch/tar/files/tar-1.21-testsuite.patch | 136 | ||||
-rw-r--r-- | app-arch/tar/files/tar-1.22-strncpy.patch | 32 | ||||
-rw-r--r-- | app-arch/tar/tar-1.20.ebuild | 67 | ||||
-rw-r--r-- | app-arch/tar/tar-1.21-r1.ebuild | 70 | ||||
-rw-r--r-- | app-arch/tar/tar-1.22-r1.ebuild | 70 |
6 files changed, 0 insertions, 499 deletions
diff --git a/app-arch/tar/files/tar-1.21-revert-pipe.patch b/app-arch/tar/files/tar-1.21-revert-pipe.patch deleted file mode 100644 index c8bd653415bb..000000000000 --- a/app-arch/tar/files/tar-1.21-revert-pipe.patch +++ /dev/null @@ -1,124 +0,0 @@ -http://bugs.gentoo.org/252680 -http://lists.gnu.org/archive/html/bug-tar/2008-12/msg00028.html - -revert this change: - -2008-11-25 Sergey Poznyakoff <gray@gnu.org.ua> - - Do not try to drain the input pipe before closing the - archive. - - * src/buffer.c (close_archive): Remove call to - sys_drain_input_pipe. Pass hit_eof as the second - argument to sys_wait_for_child. - * src/common.h (sys_drain_input_pipe): Remove - (sys_wait_for_child): Declare second argument. - * src/system.c (sys_drain_input_pipe): Remove. - (sys_wait_for_child): Take two arguments. The second one helps to - decide whether to tolerate child termination on SIGPIPE. - -diff --git a/src/buffer.c b/src/buffer.c -index 5f5457a..02a3e4c 100644 ---- a/src/buffer.c -+++ b/src/buffer.c -@@ -848,6 +848,8 @@ close_archive (void) - flush_archive (); - } - -+ sys_drain_input_pipe (); -+ - compute_duration (); - if (verify_option) - verify_volume (); -@@ -855,7 +857,7 @@ close_archive (void) - if (rmtclose (archive) != 0) - close_error (*archive_name_cursor); - -- sys_wait_for_child (child_pid, hit_eof); -+ sys_wait_for_child (child_pid); - - tar_stat_destroy (¤t_stat_info); - if (save_name) -diff --git a/src/common.h b/src/common.h -index 9897b46..cc3483e 100644 ---- a/src/common.h -+++ b/src/common.h -@@ -699,7 +699,8 @@ char *xheader_format_name (struct tar_stat_info *st, const char *fmt, - - void sys_detect_dev_null_output (void); - void sys_save_archive_dev_ino (void); --void sys_wait_for_child (pid_t, bool); -+void sys_drain_input_pipe (void); -+void sys_wait_for_child (pid_t); - void sys_spawn_shell (void); - bool sys_compare_uid (struct stat *a, struct stat *b); - bool sys_compare_gid (struct stat *a, struct stat *b); -diff --git a/src/system.c b/src/system.c -index c90a40d..e57e6da 100644 ---- a/src/system.c -+++ b/src/system.c -@@ -1,7 +1,6 @@ - /* System-dependent calls for tar. - -- Copyright (C) 2003, 2004, 2005, 2006, 2007, -- 2008 Free Software Foundation, Inc. -+ Copyright (C) 2003, 2004, 2005, 2006, 2007 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 -@@ -52,7 +51,12 @@ sys_detect_dev_null_output (void) - } - - void --sys_wait_for_child (pid_t child_pid, bool eof) -+sys_drain_input_pipe (void) -+{ -+} -+ -+void -+sys_wait_for_child (pid_t child_pid) - { - } - -@@ -156,8 +160,26 @@ sys_detect_dev_null_output (void) - && archive_stat.st_ino == dev_null_stat.st_ino)); - } - -+/* Manage to fully drain a pipe we might be reading, so to not break it on -+ the producer after the EOF block. FIXME: one of these days, GNU tar -+ might become clever enough to just stop working, once there is no more -+ work to do, we might have to revise this area in such time. */ -+ -+void -+sys_drain_input_pipe (void) -+{ -+ size_t r; -+ -+ if (access_mode == ACCESS_READ -+ && ! _isrmt (archive) -+ && (S_ISFIFO (archive_stat.st_mode) || S_ISSOCK (archive_stat.st_mode))) -+ while ((r = rmtread (archive, record_start->buffer, record_size)) != 0 -+ && r != SAFE_READ_ERROR) -+ continue; -+} -+ - void --sys_wait_for_child (pid_t child_pid, bool eof) -+sys_wait_for_child (pid_t child_pid) - { - if (child_pid) - { -@@ -171,11 +193,8 @@ sys_wait_for_child (pid_t child_pid, bool eof) - } - - if (WIFSIGNALED (wait_status)) -- { -- int sig = WTERMSIG (wait_status); -- if (!(!eof && sig == SIGPIPE)) -- ERROR ((0, 0, _("Child died with signal %d"), sig)); -- } -+ ERROR ((0, 0, _("Child died with signal %d"), -+ WTERMSIG (wait_status))); - else if (WEXITSTATUS (wait_status) != 0) - ERROR ((0, 0, _("Child returned status %d"), - WEXITSTATUS (wait_status))); diff --git a/app-arch/tar/files/tar-1.21-testsuite.patch b/app-arch/tar/files/tar-1.21-testsuite.patch deleted file mode 100644 index 0d41408d71a4..000000000000 --- a/app-arch/tar/files/tar-1.21-testsuite.patch +++ /dev/null @@ -1,136 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=253122 -http://git.savannah.gnu.org/cgit/tar.git/commit/?id=7b68ef3d918603f3afb03e939ba72f5cad10edf4 - -From 7b68ef3d918603f3afb03e939ba72f5cad10edf4 Mon Sep 17 00:00:00 2001 -From: Sergey Poznyakoff <gray@gnu.org.ua> -Date: Mon, 29 Dec 2008 09:27:00 +0000 -Subject: Fix testsuite and bootstrap. Implement -I. - -* bootstrap.conf: Include size_max. -* gnulib.modules: Remove memset, rmdir. Replace strdup with -strdup-posix. Patch by Eric Blake. -* src/tar.c: Implement -I as a shorthand for --use-compress-program. -* doc/tar.texi: Document -I. -* tests/pipe.at, tests/shortrec.at: Account for eventual 'Record -size' output. -* tests/testsuite.at (AT_TAR_CHECK_HOOK): New define -(AT_TAR_WITH_HOOK, TAR_IGNREC_HOOK): New macros. ---- -diff --git a/tests/pipe.at b/tests/pipe.at -index efca65b..be99212 100644 ---- a/tests/pipe.at -+++ b/tests/pipe.at -@@ -1,7 +1,7 @@ - # Process this file with autom4te to create testsuite. -*- Autotest -*- - - # Test suite for GNU tar. --# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. -+# Copyright (C) 2004, 2005, 2006, 2007, 2008 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 -@@ -30,7 +30,8 @@ AT_SETUP([decompressing from stdin]) - - AT_KEYWORDS([pipe]) - --AT_TAR_CHECK([ -+AT_TAR_WITH_HOOK([TAR_IGNREC_HOOK], -+[AT_TAR_CHECK([ - AT_SORT_PREREQ - - mkdir directory -@@ -49,6 +50,7 @@ directory/file1 - directory/file2 - separator - separator --]) -+], -+[stderr])]) - - AT_CLEANUP -diff --git a/tests/shortrec.at b/tests/shortrec.at -index 3e009fd..179f365 100644 ---- a/tests/shortrec.at -+++ b/tests/shortrec.at -@@ -1,7 +1,7 @@ - # Process this file with autom4te to create testsuite. -*- Autotest -*- - - # Test suite for GNU tar. --# Copyright (C) 2005, 2007 Free Software Foundation, Inc. -+# Copyright (C) 2005, 2007, 2008 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 -@@ -23,17 +23,22 @@ - # used to create the archive. - - AT_SETUP([short records]) --AT_KEYWORDS([shortrec.at]) -+AT_KEYWORDS([shortrec]) - --AT_TAR_CHECK([ -+AT_TAR_WITH_HOOK([TAR_IGNREC_HOOK], -+[AT_TAR_CHECK([ - mkdir directory - (cd directory && touch a b c d e f g h i j k l m n o p q r) --tar -c -b 1 -f - directory | tar -t -f - >/dev/null -+tar -c -b 1 -f - directory | tar -t -f - - tar -c -b 1 -f archive directory --tar -t -f archive >/dev/null --tar -t -f - < archive >/dev/null -+tar -t -f archive -+tar -t -f - < archive - - rm -r directory -+], -+[0], -+[ignore], -+[stderr]) - ]) - - AT_CLEANUP -diff --git a/tests/testsuite.at b/tests/testsuite.at -index 2fa5392..a12477d 100644 ---- a/tests/testsuite.at -+++ b/tests/testsuite.at -@@ -1,7 +1,7 @@ - # Process this file with autom4te to create testsuite. -*- Autotest -*- - - # Test suite for GNU tar. --# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. -+# Copyright (C) 2004, 2005, 2006, 2007, 2008 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 -@@ -21,6 +21,7 @@ - # We need a recent Autotest. - m4_version_prereq([2.52g]) - -+m4_define([AT_TAR_CHECK_HOOK]) - m4_define([AT_TAR_CHECK],[ - AT_XFAIL_IF(test -f $[]XFAILFILE) - m4_foreach([FMT], -@@ -33,9 +34,20 @@ export TEST_TAR_FORMAT - TAR_OPTIONS="-H FMT" - export TAR_OPTIONS - rm -rf * --$1)],$2,$3,$4,$5,$6)]) -+$1)],$2,$3,$4,$5,$6) -+ AT_TAR_CHECK_HOOK]) - ]) - -+m4_define([AT_TAR_WITH_HOOK],[ -+ m4_pushdef([AT_TAR_CHECK_HOOK],[$1]) -+ $2 -+ -+ m4_popdef([AT_TAR_CHECK_HOOK])]) -+ -+m4_define([TAR_IGNREC_HOOK],[ -+ AT_CHECK([grep -v '^.*tar: Record size = ' stderr; exit 0]) -+]) -+ - m4_define([RE_CHECK],[ - AT_DATA([$1.re],[$2]) - awk '{print NR " " $[]0}' $1 > $[]$.1 --- -cgit v0.8.2 diff --git a/app-arch/tar/files/tar-1.22-strncpy.patch b/app-arch/tar/files/tar-1.22-strncpy.patch deleted file mode 100644 index 6c439170ec40..000000000000 --- a/app-arch/tar/files/tar-1.22-strncpy.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -uNr tar-1.22.ORIG//src/create.c tar-1.22/src/create.c ---- tar-1.22.ORIG//src/create.c 2010-04-25 19:50:28.147606290 +0100 -+++ tar-1.22/src/create.c 2010-04-25 19:50:44.849606051 +0100 -@@ -577,7 +577,10 @@ - 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); - -@@ -907,9 +910,13 @@ - 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: diff --git a/app-arch/tar/tar-1.20.ebuild b/app-arch/tar/tar-1.20.ebuild deleted file mode 100644 index eb1b191cfe3e..000000000000 --- a/app-arch/tar/tar-1.20.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/tar-1.20.ebuild,v 1.6 2008/11/27 22:55:50 jer Exp $ - -inherit flag-o-matic eutils - -DESCRIPTION="Use this to make tarballs :)" -HOMEPAGE="http://www.gnu.org/software/tar/" -SRC_URI="http://ftp.gnu.org/gnu/tar/${P}.tar.bz2 - ftp://alpha.gnu.org/gnu/tar/${P}.tar.bz2 - mirror://gnu/tar/${P}.tar.bz2" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" -IUSE="nls static userland_GNU" - -RDEPEND="" -DEPEND="${RDEPEND} - nls? ( >=sys-devel/gettext-0.10.35 )" - -src_unpack() { - unpack ${A} - cd "${S}" - - if ! use userland_GNU ; then - sed -i \ - -e 's:/backup\.sh:/gbackup.sh:' \ - scripts/{backup,dump-remind,restore}.in \ - || die "sed non-GNU" - fi -} - -src_compile() { - local myconf - use static && append-ldflags -static - use userland_GNU || myconf="--program-prefix=g" - # Work around bug in sandbox #67051 - gl_cv_func_chown_follows_symlink=yes \ - econf \ - --enable-backup-scripts \ - --bindir=/bin \ - --libexecdir=/usr/sbin \ - $(use_enable nls) \ - ${myconf} || die - emake || die "emake failed" -} - -src_install() { - local p="" - use userland_GNU || p=g - - emake DESTDIR="${D}" install || die "make install failed" - - if [[ -z ${p} ]] ; then - # a nasty yet required piece of baggage - exeinto /etc - doexe "${FILESDIR}"/rmt || die - fi - - dodoc AUTHORS ChangeLog* NEWS README* PORTS THANKS - newman "${FILESDIR}"/tar.1 ${p}tar.1 - mv "${D}"/usr/sbin/${p}backup{,-tar} - mv "${D}"/usr/sbin/${p}restore{,-tar} - - rm -f "${D}"/usr/$(get_libdir)/charset.alias -} diff --git a/app-arch/tar/tar-1.21-r1.ebuild b/app-arch/tar/tar-1.21-r1.ebuild deleted file mode 100644 index 471f5fb647f0..000000000000 --- a/app-arch/tar/tar-1.21-r1.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/tar-1.21-r1.ebuild,v 1.2 2009/02/02 19:00:01 dirtyepic Exp $ - -inherit flag-o-matic eutils - -DESCRIPTION="Use this to make tarballs :)" -HOMEPAGE="http://www.gnu.org/software/tar/" -SRC_URI="http://ftp.gnu.org/gnu/tar/${P}.tar.bz2 - ftp://alpha.gnu.org/gnu/tar/${P}.tar.bz2 - mirror://gnu/tar/${P}.tar.bz2" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" -IUSE="nls static userland_GNU" - -RDEPEND="" -DEPEND="${RDEPEND} - nls? ( >=sys-devel/gettext-0.10.35 )" - -src_unpack() { - unpack ${A} - cd "${S}" - - epatch "${FILESDIR}"/${P}-revert-pipe.patch #252680 - epatch "${FILESDIR}"/${P}-testsuite.patch #253122 - - if ! use userland_GNU ; then - sed -i \ - -e 's:/backup\.sh:/gbackup.sh:' \ - scripts/{backup,dump-remind,restore}.in \ - || die "sed non-GNU" - fi -} - -src_compile() { - local myconf - use static && append-ldflags -static - use userland_GNU || myconf="--program-prefix=g" - # Work around bug in sandbox #67051 - gl_cv_func_chown_follows_symlink=yes \ - econf \ - --enable-backup-scripts \ - --bindir=/bin \ - --libexecdir=/usr/sbin \ - $(use_enable nls) \ - ${myconf} || die - emake || die "emake failed" -} - -src_install() { - local p="" - use userland_GNU || p=g - - emake DESTDIR="${D}" install || die "make install failed" - - if [[ -z ${p} ]] ; then - # a nasty yet required piece of baggage - exeinto /etc - doexe "${FILESDIR}"/rmt || die - fi - - dodoc AUTHORS ChangeLog* NEWS README* PORTS THANKS - newman "${FILESDIR}"/tar.1 ${p}tar.1 - mv "${D}"/usr/sbin/${p}backup{,-tar} - mv "${D}"/usr/sbin/${p}restore{,-tar} - - rm -f "${D}"/usr/$(get_libdir)/charset.alias -} diff --git a/app-arch/tar/tar-1.22-r1.ebuild b/app-arch/tar/tar-1.22-r1.ebuild deleted file mode 100644 index c67a65b9d076..000000000000 --- a/app-arch/tar/tar-1.22-r1.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/tar-1.22-r1.ebuild,v 1.1 2010/04/25 18:53:46 chainsaw Exp $ - -inherit flag-o-matic eutils - -DESCRIPTION="Use this to make tarballs :)" -HOMEPAGE="http://www.gnu.org/software/tar/" -SRC_URI="http://ftp.gnu.org/gnu/tar/${P}.tar.bz2 - ftp://alpha.gnu.org/gnu/tar/${P}.tar.bz2 - mirror://gnu/tar/${P}.tar.bz2" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" -IUSE="nls static userland_GNU" - -RDEPEND="" -DEPEND="${RDEPEND} - nls? ( >=sys-devel/gettext-0.10.35 )" - -src_unpack() { - unpack ${A} - cd "${S}" - - epatch "${FILESDIR}"/${PN}-1.21-revert-pipe.patch #252680 - epatch "${FILESDIR}"/${P}-strncpy.patch #317139 - - if ! use userland_GNU ; then - sed -i \ - -e 's:/backup\.sh:/gbackup.sh:' \ - scripts/{backup,dump-remind,restore}.in \ - || die "sed non-GNU" - fi -} - -src_compile() { - local myconf - use static && append-ldflags -static - use userland_GNU || myconf="--program-prefix=g" - # Work around bug in sandbox #67051 - gl_cv_func_chown_follows_symlink=yes \ - econf \ - --enable-backup-scripts \ - --bindir=/bin \ - --libexecdir=/usr/sbin \ - $(use_enable nls) \ - ${myconf} || die - emake || die "emake failed" -} - -src_install() { - local p="" - use userland_GNU || p=g - - emake DESTDIR="${D}" install || die "make install failed" - - if [[ -z ${p} ]] ; then - # a nasty yet required piece of baggage - exeinto /etc - doexe "${FILESDIR}"/rmt || die - fi - - dodoc AUTHORS ChangeLog* NEWS README* PORTS THANKS - newman "${FILESDIR}"/tar.1 ${p}tar.1 - mv "${D}"/usr/sbin/${p}backup{,-tar} - mv "${D}"/usr/sbin/${p}restore{,-tar} - - rm -f "${D}"/usr/$(get_libdir)/charset.alias -} |