Patchwork make-3.82: Add patch from git to fix parallel make race

login
register
mail settings
Submitter Colin Walters
Date Feb. 8, 2013, 12:52 p.m.
Message ID <1360327931.9905.799.camel@localhost>
Download mbox | patch
Permalink /patch/44335/
State New
Headers show

Comments

Colin Walters - Feb. 8, 2013, 12:52 p.m.
See: http://savannah.gnu.org/bugs/?30653

This only shows up for projects which have a number of intermediate
targets.  For me, systemd fails to build without this patch, and does
build consistently with it.

WebKitGtk+ is another known affected project.

Signed-off-by: Colin Walters <walters@verbum.org>
---
 .../make-3.82/intermediate-target-bugfix.patch     |   23 ++++++++++++++++++++
 meta/recipes-devtools/make/make_3.82.bb            |    1 +
 2 files changed, 24 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/make/make-3.82/intermediate-target-bugfix.patch

Patch

From 62d497f50828ea62bf0b15cd9b43f509da3da52e Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Fri, 8 Feb 2013 07:48:52 -0500
Subject: [PATCH] make-3.82: Add patch from git to fix parallel make race

See: http://savannah.gnu.org/bugs/?30653

This only shows up for projects which have a number of intermediate
targets.  For me, systemd fails to build without this patch, and does
build consistently with it.

WebKitGtk+ is another known affected project.

Signed-off-by: Colin Walters <walters@verbum.org>
---
 .../make-3.82/intermediate-target-bugfix.patch     |   23 ++++++++++++++++++++
 meta/recipes-devtools/make/make_3.82.bb            |    1 +
 2 files changed, 24 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/make/make-3.82/intermediate-target-bugfix.patch

diff --git a/meta/recipes-devtools/make/make-3.82/intermediate-target-bugfix.patch b/meta/recipes-devtools/make/make-3.82/intermediate-target-bugfix.patch
new file mode 100644
index 0000000..b416e64
--- /dev/null
+++ b/meta/recipes-devtools/make/make-3.82/intermediate-target-bugfix.patch
@@ -0,0 +1,23 @@ 
+Upstream-Status: Backport [The fix is already in upstream git repo, but not in the stable release]
+
+From fbe5b2c9cd612b962836b9391fa2b58c8baed6fc Mon Sep 17 00:00:00 2001
+From: Paul Smith <psmith@gnu.org>
+Date: Mon, 10 Sep 2012 02:36:05 +0000
+Subject: Force intermediate targets to be considered if their non-intermediate
+
+parent needs to be remade.  Fixes Savannah bug #30653.
+---
+diff --git a/remake.c b/remake.c
+index c0bf709..b1ddd23 100644
+--- a/remake.c
++++ b/remake.c
+@@ -612,6 +612,10 @@ update_file_1 (struct file *file, unsigned int depth)
+                 d->file->dontcare = file->dontcare;
+               }
+ 
++            /* We may have already considered this file, when we didn't know
++               we'd need to update it.  Force update_file() to consider it and
++               not prune it.  */
++            d->file->considered = !considered;
+ 
+ 	    dep_status |= update_file (d->file, depth);
diff --git a/meta/recipes-devtools/make/make_3.82.bb b/meta/recipes-devtools/make/make_3.82.bb
index 65b044b..b4292b5 100644
--- a/meta/recipes-devtools/make/make_3.82.bb
+++ b/meta/recipes-devtools/make/make_3.82.bb
@@ -6,6 +6,7 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
 require make.inc
 
 SRC_URI += "file://expand_MAKEFLAGS.patch \
+            file://intermediate-target-bugfix.patch \
             file://make-savannah-bug30612-handling_of_archives.patch;striplevel=0"
 
 SRC_URI[md5sum] = "1a11100f3c63fcf5753818e59d63088f"
-- 
1.7.1