summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2003-01-20 00:47:29 +0000
committerMartin Schlemmer <azarah@gentoo.org>2003-01-20 00:47:29 +0000
commit3f2d5923bd90443679e70ac7088310eccac35d81 (patch)
tree1dfaed05c8896c716be3735ded903138aaf68574 /sys-apps/diffutils
parentadded mbox and maildir to IUSE (diff)
downloadhistorical-3f2d5923bd90443679e70ac7088310eccac35d81.tar.gz
historical-3f2d5923bd90443679e70ac7088310eccac35d81.tar.bz2
historical-3f2d5923bd90443679e70ac7088310eccac35d81.zip
bug #11728; do not waitpid in sdiff in pipe
Diffstat (limited to 'sys-apps/diffutils')
-rw-r--r--sys-apps/diffutils/ChangeLog11
-rw-r--r--sys-apps/diffutils/diffutils-2.8.4-r2.ebuild73
-rw-r--r--sys-apps/diffutils/files/diffutils-2.8.4-sdiff-no-waitpid.patch23
-rw-r--r--sys-apps/diffutils/files/digest-diffutils-2.8.4-r21
4 files changed, 106 insertions, 2 deletions
diff --git a/sys-apps/diffutils/ChangeLog b/sys-apps/diffutils/ChangeLog
index 4dc9c252451f..7547f99302b8 100644
--- a/sys-apps/diffutils/ChangeLog
+++ b/sys-apps/diffutils/ChangeLog
@@ -1,8 +1,15 @@
# ChangeLog for sys-apps/diffutils
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/diffutils/ChangeLog,v 1.11 2003/01/18 19:33:12 tuxus Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/diffutils/ChangeLog,v 1.12 2003/01/20 00:47:29 azarah Exp $
- 06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
+*diffutils-2.8.4-r2 (20 Jan 2003)
+
+ 20 Jan 2003; Martin Schlemmer <azarah@gentoo.org> diffutils-2.8.4-r2.ebuild :
+ Removes waitpid() call after pclose() on piped diff stream, closing
+ bug #11728, thanks to D Wollmann <converter@dalnet-perl.org>
+
+ 06 Dec 2002; Rodney Rees <manson@gentoo.org> :
+ Changed sparc ~sparc keywords.
*diffutils-2.8.4-r1 (14 Oct 2002)
diff --git a/sys-apps/diffutils/diffutils-2.8.4-r2.ebuild b/sys-apps/diffutils/diffutils-2.8.4-r2.ebuild
new file mode 100644
index 000000000000..f644058c6bd3
--- /dev/null
+++ b/sys-apps/diffutils/diffutils-2.8.4-r2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/diffutils/diffutils-2.8.4-r2.ebuild,v 1.1 2003/01/20 00:47:29 azarah Exp $
+
+IUSE="nls build"
+
+inherit eutils
+
+S=${WORKDIR}/${P}
+DESCRIPTION="Tools to make diffs and compare files"
+SRC_URI="ftp://alpha.gnu.org/gnu/diffutils/${P}.tar.gz"
+HOMEPAGE="http://www.gnu.org/software/diffutils/diffutils.html"
+
+KEYWORDS="~x86 ~ppc ~sparc ~alpha ~mips"
+SLOT="0"
+LICENSE="GPL-2"
+
+DEPEND="virtual/glibc
+ nls? ( sys-devel/gettext )
+ !build? ( sys-apps/texinfo )"
+
+RDEPEND="virtual/glibc"
+
+
+src_unpack() {
+ unpack ${A}
+
+ cd ${S}
+ if [ -n "`use build`" ]
+ then
+ #disable texinfo building so we can remove the dep
+ cp Makefile.in Makefile.in.orig
+ sed -e 's:SUBDIRS = doc:SUBDIRS =:' \
+ Makefile.in.orig > Makefile.in
+ fi
+
+ # Build fails with make -j5 or greater on pentium4. This is because
+ # the jobs creating the opjects, which depend on paths.h is sheduled
+ # at the same time paths.h is generated. This patch just fix a small
+ # typeo that caused this. This closes bug #8934.
+ # <azarah@gentoo.org> (14 Oct 2002)
+ cd ${S}; epatch ${FILESDIR}/${P}-Makefile-fix-typeo.patch
+
+ # Removes waitpid() call after pclose() on piped diff stream, closing
+ # bug #11728, thanks to D Wollmann <converter@dalnet-perl.org>
+ cd ${S}; epatch ${FILESDIR}/${P}-sdiff-no-waitpid.patch
+}
+
+src_compile() {
+ local myconf=""
+ [ -z "`use nls`" ] && myconf="--disable-nls"
+
+ econf --build=${CHOST} \
+ ${myconf} || die
+
+ emake || die
+}
+
+src_install() {
+ make prefix=${D}/usr \
+ datadir=${D}/usr/share \
+ infodir=${D}/usr/share/info \
+ mandir=${D}/usr/share/man \
+ install || die
+
+ if [ -z "`use build`" ]
+ then
+ dodoc COPYING ChangeLog NEWS README
+ else
+ rm -rf ${D}/usr/share/info
+ fi
+}
+
diff --git a/sys-apps/diffutils/files/diffutils-2.8.4-sdiff-no-waitpid.patch b/sys-apps/diffutils/files/diffutils-2.8.4-sdiff-no-waitpid.patch
new file mode 100644
index 000000000000..a41b11648d64
--- /dev/null
+++ b/sys-apps/diffutils/files/diffutils-2.8.4-sdiff-no-waitpid.patch
@@ -0,0 +1,23 @@
+--- diffutils-2.8.4/src/sdiff.c.orig 2002-06-17 00:55:42.000000000 -0500
++++ diffutils-2.8.4/src/sdiff.c 2003-01-08 03:04:02.000000000 -0600
+@@ -692,7 +692,7 @@
+ ck_fclose (out);
+
+ {
+- int wstatus;
++ int wstatus = 0;
+ int werrno = 0;
+
+ #if ! (HAVE_WORKING_FORK || HAVE_WORKING_VFORK)
+@@ -701,11 +701,6 @@
+ werrno = errno;
+ #else
+ ck_fclose (diffout);
+- while (waitpid (diffpid, &wstatus, 0) < 0)
+- if (errno == EINTR)
+- checksigs ();
+- else
+- perror_fatal ("waitpid");
+ diffpid = 0;
+ #endif
+
diff --git a/sys-apps/diffutils/files/digest-diffutils-2.8.4-r2 b/sys-apps/diffutils/files/digest-diffutils-2.8.4-r2
new file mode 100644
index 000000000000..ab1523b47820
--- /dev/null
+++ b/sys-apps/diffutils/files/digest-diffutils-2.8.4-r2
@@ -0,0 +1 @@
+MD5 a9c028579abc79ecd6842d60a13abf1d diffutils-2.8.4.tar.gz 828766