Add patch from upstream to fix issues with parallel builds #107613 by Icebird.
authorMike Frysinger <vapier@gentoo.org>
Thu, 29 Sep 2005 22:31:41 +0000 (22:31 +0000)
committerMike Frysinger <vapier@gentoo.org>
Thu, 29 Sep 2005 22:31:41 +0000 (22:31 +0000)
Package-Manager: portage-2.0.52-r1 http://www.bash.org/?136501

sys-devel/make/ChangeLog
sys-devel/make/Manifest
sys-devel/make/files/digest-make-3.80-r3 [new file with mode: 0644]
sys-devel/make/files/make-3.80-parallel-build-failure.patch [new file with mode: 0644]
sys-devel/make/make-3.80-r3.ebuild [new file with mode: 0644]

index 3c740fc9c94f05f49e6bf2d9580a7310c4945f8c..8853d5057fa087acd82b75fd56906ea8353616ed 100644 (file)
@@ -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
index 8d3b5194f837ad6ee5f0aa60f9925338aa1d2754..64ef22111a1f71c286e325bfd178ec0127336bc2 100644 (file)
@@ -1,18 +1,21 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 f86f99b2ab003e6f5483f365a3db7ebc make-3.80-r2.ebuild 1301
 MD5 039d9a79c20899233ae7f42867feee7c make-3.80-r1.ebuild 1105
 MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
-MD5 145efadf0db5bdcca004e1ef96e38521 ChangeLog 3849
-MD5 3adc1d9cc832e98b435305f9f466279b files/3.80-memory.patch 2248
+MD5 f86f99b2ab003e6f5483f365a3db7ebc make-3.80-r2.ebuild 1301
+MD5 cd294e0cc4eb67fedc45653fee8a3c41 make-3.80-r3.ebuild 1250
+MD5 389b848eb375318eadf5ae4b05f1d0d0 ChangeLog 4080
 MD5 6c9afd5ac674f6a9703fdab9e49846c4 files/digest-make-3.80-r2 62
-MD5 6c9afd5ac674f6a9703fdab9e49846c4 files/digest-make-3.80-r1 62
+MD5 6c9afd5ac674f6a9703fdab9e49846c4 files/digest-make-3.80-r3 62
+MD5 85ce0c4d36cd02b0c1abae84c022dba3 files/make-3.80-parallel-build-failure.patch 2210
 MD5 ea2daf4e61545882b6ba566f2b9132a2 files/make-3.80-ppc64-hardened-clock_gettime.patch 514
+MD5 3adc1d9cc832e98b435305f9f466279b files/3.80-memory.patch 2248
+MD5 6c9afd5ac674f6a9703fdab9e49846c4 files/digest-make-3.80-r1 62
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.1 (GNU/Linux)
+Version: GnuPG v1.4.2 (GNU/Linux)
 
-iD8DBQFDK2VHLLFUmVNQ7rkRAk5oAJ9AWoTy+ZNCPgSkhQ9o+mb255/d3QCfQVeA
-k8WxuoTkMq0X7Jp4zVntrF8=
-=CzrD
+iD8DBQFDPGuOgIKl8Uu19MoRAjhEAJ4qRPsFNJbXLK56nH5jnJ75gOpUDwCffYyD
+52ORL1FoXo8BsQMJud/XjoI=
+=aVOh
 -----END PGP SIGNATURE-----
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 (file)
index 0000000..bdd63b4
--- /dev/null
@@ -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 (file)
index 0000000..717e0f3
--- /dev/null
@@ -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 (file)
index 0000000..0986d16
--- /dev/null
@@ -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
+}