summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-09-29 22:31:41 +0000
committerMike Frysinger <vapier@gentoo.org>2005-09-29 22:31:41 +0000
commit13aff7469ad29eb2c94ba7a3785c8a476a8a427a (patch)
treebbfd23cbe3ef0fb19c94b26f1e9ef78a89f2f2af /sys-devel/make
parentVersion bump to fix insecure tempfile usage #107312. (diff)
downloadgentoo-2-13aff7469ad29eb2c94ba7a3785c8a476a8a427a.tar.gz
gentoo-2-13aff7469ad29eb2c94ba7a3785c8a476a8a427a.tar.bz2
gentoo-2-13aff7469ad29eb2c94ba7a3785c8a476a8a427a.zip
Add patch from upstream to fix issues with parallel builds #107613 by Icebird.
(Portage version: 2.0.52-r1 http://www.bash.org/?136501 )
Diffstat (limited to 'sys-devel/make')
-rw-r--r--sys-devel/make/ChangeLog8
-rw-r--r--sys-devel/make/files/digest-make-3.80-r31
-rw-r--r--sys-devel/make/files/make-3.80-parallel-build-failure.patch59
-rw-r--r--sys-devel/make/make-3.80-r3.ebuild50
4 files changed, 117 insertions, 1 deletions
diff --git a/sys-devel/make/ChangeLog b/sys-devel/make/ChangeLog
index 3c740fc9c94f..8853d5057fa0 100644
--- a/sys-devel/make/ChangeLog
+++ b/sys-devel/make/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-devel/make
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.31 2005/09/17 00:36:36 ciaranm Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.32 2005/09/29 22:31:41 vapier Exp $
+
+*make-3.80-r3 (29 Sep 2005)
+
+ 29 Sep 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/make-3.80-parallel-build-failure.patch, +make-3.80-r3.ebuild:
+ Add patch from upstream to fix issues with parallel builds #107613 by Icebird.
17 Sep 2005; Ciaran McCreesh <ciaranm@gentoo.org> ChangeLog:
Converted to UTF-8, fixed encoding screwups
diff --git a/sys-devel/make/files/digest-make-3.80-r3 b/sys-devel/make/files/digest-make-3.80-r3
new file mode 100644
index 000000000000..bdd63b418ee6
--- /dev/null
+++ b/sys-devel/make/files/digest-make-3.80-r3
@@ -0,0 +1 @@
+MD5 0bbd1df101bc0294d440471e50feca71 make-3.80.tar.bz2 920645
diff --git a/sys-devel/make/files/make-3.80-parallel-build-failure.patch b/sys-devel/make/files/make-3.80-parallel-build-failure.patch
new file mode 100644
index 000000000000..717e0f3556ce
--- /dev/null
+++ b/sys-devel/make/files/make-3.80-parallel-build-failure.patch
@@ -0,0 +1,59 @@
+http://lists.gnu.org/archive/html/bug-make/2005-07/msg00050.html
+http://lists.gnu.org/archive/html/bug-make/2005-08/msg00019.html
+http://bugs.gentoo.org/107613
+
+2005-08-07 Paul D. Smith <psmith@gnu.org>
+
+ Fix a bug reported by Michael Matz <matz@suse.de>: patch included.
+ If make is running in parallel without -k and two jobs die in a
+ row, but not too close to each other, then make will quit without
+ waiting for the rest of the jobs to die.
+
+ * main.c (die): Don't reset err before calling reap_children() the
+ second time: we still want it to be in the error condition.
+ * job.c (reap_children): Use a static variable, rather than err,
+ to control whether or not the error message should be printed.
+
+Index: job.c
+===================================================================
+RCS file: /cvsroot/make/make/job.c,v
+retrieving revision 1.166
+retrieving revision 1.167
+diff -u -p -r1.166 -r1.167
+--- job.c 26 Jun 2005 03:31:30 -0000 1.166
++++ job.c 8 Aug 2005 05:08:00 -0000 1.167
+@@ -475,9 +479,14 @@ reap_children (int block, int err)
+
+ if (err && block)
+ {
+- /* We might block for a while, so let the user know why. */
++ static int printed = 0;
++
++ /* We might block for a while, so let the user know why.
++ Only print this message once no matter how many jobs are left. */
+ fflush (stdout);
+- error (NILF, _("*** Waiting for unfinished jobs...."));
++ if (!printed)
++ error (NILF, _("*** Waiting for unfinished jobs...."));
++ printed = 1;
+ }
+
+ /* We have one less dead child to reap. As noted in
+Index: main.c
+===================================================================
+RCS file: /cvsroot/make/make/main.c,v
+retrieving revision 1.210
+retrieving revision 1.211
+diff -u -p -r1.210 -r1.211
+--- main.c 12 Jul 2005 04:35:13 -0000 1.210
++++ main.c 8 Aug 2005 05:08:00 -0000 1.211
+@@ -2990,7 +2996,8 @@ die (int status)
+ print_version ();
+
+ /* Wait for children to die. */
+- for (err = (status != 0); job_slots_used > 0; err = 0)
++ err = (status != 0);
++ while (job_slots_used > 0)
+ reap_children (1, err);
+
+ /* Let the remote job module clean up its state. */
diff --git a/sys-devel/make/make-3.80-r3.ebuild b/sys-devel/make/make-3.80-r3.ebuild
new file mode 100644
index 000000000000..0986d16ceec7
--- /dev/null
+++ b/sys-devel/make/make-3.80-r3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/make-3.80-r3.ebuild,v 1.1 2005/09/29 22:31:41 vapier Exp $
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="http://www.gnu.org/software/make/make.html"
+SRC_URI="ftp://ftp.gnu.org/gnu/make/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="nls static build"
+
+DEPEND="nls? ( sys-devel/gettext )"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${PV}-memory.patch
+ epatch "${FILESDIR}"/${P}-parallel-build-failure.patch
+}
+
+src_compile() {
+ use static && append-ldflags -static
+ econf \
+ $(use_enable nls) \
+ --program-prefix=g \
+ || die
+ emake || die
+}
+
+src_install() {
+ if use build ; then
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ dobin make || die "dobin"
+ else
+ newbin make gmake || die "newbin failed"
+ fi
+ else
+ make DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+ fi
+}