From 1d18880f9a7558d2bba28076e89f51029c0fb9b2 Mon Sep 17 00:00:00 2001 From: Samuli Suominen Date: Mon, 1 Nov 2010 14:52:55 +0000 Subject: Fix extraction of device nodes wrt #343245 by Albert W. Hopkins. (Portage version: 2.2.0_alpha1/cvs/Linux x86_64) --- app-arch/tar/ChangeLog | 8 ++- app-arch/tar/files/tar-1.24-device-node.patch | 23 +++++++++ app-arch/tar/tar-1.24-r1.ebuild | 72 -------------------------- app-arch/tar/tar-1.24-r2.ebuild | 73 +++++++++++++++++++++++++++ 4 files changed, 103 insertions(+), 73 deletions(-) create mode 100644 app-arch/tar/files/tar-1.24-device-node.patch delete mode 100644 app-arch/tar/tar-1.24-r1.ebuild create mode 100644 app-arch/tar/tar-1.24-r2.ebuild (limited to 'app-arch') diff --git a/app-arch/tar/ChangeLog b/app-arch/tar/ChangeLog index 79f1874285ec..9b010187ab97 100644 --- a/app-arch/tar/ChangeLog +++ b/app-arch/tar/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for app-arch/tar # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/ChangeLog,v 1.157 2010/10/27 18:19:39 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/ChangeLog,v 1.158 2010/11/01 14:52:55 ssuominen Exp $ + +*tar-1.24-r2 (01 Nov 2010) + + 01 Nov 2010; Samuli Suominen +tar-1.24-r2.ebuild, + +files/tar-1.24-device-node.patch: + Fix extraction of device nodes wrt #343245 by Albert W. Hopkins. *tar-1.24-r1 (27 Oct 2010) diff --git a/app-arch/tar/files/tar-1.24-device-node.patch b/app-arch/tar/files/tar-1.24-device-node.patch new file mode 100644 index 000000000000..bdee8cd6459c --- /dev/null +++ b/app-arch/tar/files/tar-1.24-device-node.patch @@ -0,0 +1,23 @@ +From 3913675640f65bb4774429d369681957b528996e Mon Sep 17 00:00:00 2001 +From: Sergey Poznyakoff +Date: Mon, 01 Nov 2010 13:04:41 +0000 +Subject: Fix extraction of device nodes. + +* src/extract.c (extract_node): Do not mask out node type. +The bug was introduced in commit ea964cce. +--- +diff --git a/src/extract.c b/src/extract.c +index 44233b9..6711f87 100644 +--- a/src/extract.c ++++ b/src/extract.c +@@ -1205,7 +1205,7 @@ static int + 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) +-- +cgit v0.8.3.2 diff --git a/app-arch/tar/tar-1.24-r1.ebuild b/app-arch/tar/tar-1.24-r1.ebuild deleted file mode 100644 index 9c08d7905e9d..000000000000 --- a/app-arch/tar/tar-1.24-r1.ebuild +++ /dev/null @@ -1,72 +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.24-r1.ebuild,v 1.1 2010/10/27 18:19:39 ssuominen Exp $ - -EAPI="2" - -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 )" - -RESTRICT="test" # Remove this from 1.25 - -src_prepare() { - epatch "${FILESDIR}"/${PN}-1.23-strncpy.patch #317139 - epatch "${FILESDIR}"/${P}-mkdirat.patch #342735 - epatch "${FILESDIR}"/${P}-transform{,-2}.patch #342785 - - 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_configure() { - 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 \ - FORCE_UNSAFE_CONFIGURE=1 \ - econf \ - --enable-backup-scripts \ - --bindir=/bin \ - --libexecdir=/usr/sbin \ - $(use_enable nls) \ - ${myconf} -} - -src_install() { - local p="" - use userland_GNU || p=g - - emake DESTDIR="${D}" install || die - - if [[ -z ${p} ]] ; then - # a nasty yet required piece of baggage - exeinto /etc - doexe "${FILESDIR}"/rmt || die - fi - - dodoc AUTHORS ChangeLog* NEWS README* 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.24-r2.ebuild b/app-arch/tar/tar-1.24-r2.ebuild new file mode 100644 index 000000000000..0adff37eb346 --- /dev/null +++ b/app-arch/tar/tar-1.24-r2.ebuild @@ -0,0 +1,73 @@ +# 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.24-r2.ebuild,v 1.1 2010/11/01 14:52:55 ssuominen Exp $ + +EAPI="2" + +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 )" + +RESTRICT="test" # Remove this from 1.25 + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.23-strncpy.patch #317139 + epatch "${FILESDIR}"/${P}-mkdirat.patch #342735 + epatch "${FILESDIR}"/${P}-transform{,-2}.patch #342785 + epatch "${FILESDIR}"/${P}-device-node.patch #343245 + + 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_configure() { + 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 \ + FORCE_UNSAFE_CONFIGURE=1 \ + econf \ + --enable-backup-scripts \ + --bindir=/bin \ + --libexecdir=/usr/sbin \ + $(use_enable nls) \ + ${myconf} +} + +src_install() { + local p="" + use userland_GNU || p=g + + emake DESTDIR="${D}" install || die + + if [[ -z ${p} ]] ; then + # a nasty yet required piece of baggage + exeinto /etc + doexe "${FILESDIR}"/rmt || die + fi + + dodoc AUTHORS ChangeLog* NEWS README* 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 +} -- cgit v1.2.3-65-gdbad