summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2014-02-04 16:15:14 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-06 15:30:45 +0000
commitbc7a5b9442100112541a79a6d4f7ffed22c5b7bc (patch)
treecaaa9caf05be9d1706fb566af44c31c748f9e3d4
parent4217302c296afd49011ff0b307247a14da3a4985 (diff)
downloadpoky-bc7a5b9442100112541a79a6d4f7ffed22c5b7bc.tar.gz
glib-2.0: fix race in parallel builds
There is a race condition in the makefile that can result in build failures like this in parallel builds: | ./gdbus-test-codegen-generated.h:7:0: error: unterminated #ifndef | #ifndef __GDBUS_TEST_CODEGEN_GENERATED_H__ Fix the rules to stop this happening. (From OE-Core rev: 97ccd2b841c9dc598dbe39162f335bcde48a7c26) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/gio-test-race.patch54
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0_2.38.2.bb1
2 files changed, 55 insertions, 0 deletions
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/gio-test-race.patch b/meta/recipes-core/glib-2.0/glib-2.0/gio-test-race.patch
new file mode 100644
index 0000000000..720ea6c328
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/gio-test-race.patch
@@ -0,0 +1,54 @@
1Upstream-Status: Submitted
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From a047a0270ee5faf1d9d6080cbc613defdf52baea Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Tue, 4 Feb 2014 13:15:08 +0000
7Subject: [PATCH] gio/tests: fix race when generating code
8
9There is a race condition in the makefile that can result in build failures like this in parallel builds:
10
11| ./gdbus-test-codegen-generated.h:7:0: error: unterminated #ifndef
12| #ifndef __GDBUS_TEST_CODEGEN_GENERATED_H__
13
14This is because a rule like this:
15
16x.c x.h: prerequisites
17 @commands
18
19doesn't consider x.c and x.h together. Instead, it expands to two rules, one to
20generate x.c and one to generate x.h, which happen to run the same commands. In
21the worst case they execute in parallel, overwriting each other's output.
22
23Signed-off-by: Ross Burton <ross.burton@intel.com>
24
25https://bugzilla.gnome.org/show_bug.cgi?id=723616
26---
27 gio/tests/Makefile.am | 4 +++-
28 1 file changed, 3 insertions(+), 1 deletion(-)
29
30diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
31index 0beb239..270faf6 100644
32--- a/gio/tests/Makefile.am
33+++ b/gio/tests/Makefile.am
34@@ -436,7 +436,7 @@ gmenumodel_SOURCES = $(gdbus_sessionbus_sources) gmenumode
35 gnotification_SOURCES = $(gdbus_sessionbus_sources) gnotification.c gnotification-server.h gnotification-server.c
36
37 gdbus-test-codegen.o: gdbus-test-codegen-generated.h
38-gdbus-test-codegen-generated.h gdbus-test-codegen-generated.c: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
39+gdbus-test-codegen-generated.h: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
40 $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
41 UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
42 $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
43@@ -455,6 +455,8 @@ gdbus-test-codegen-generated.h gdbus-test-codegen-generated.c: test-codegen.xml
44 --annotate "org.project.Bar::TestSignal[array_of_strings]" Key8 Value8 \
45 $(srcdir)/test-codegen.xml \
46 $(NULL)
47+gdbus-test-codegen-generated.c: gdbus-test-codegen-generated.h
48+ @: # Generated as side-effect of .h
49
50 EXTRA_DIST += test-codegen.xml
51 CLEANFILES += gdbus-test-codegen-generated.[ch] gdbus-test-codegen-generated-doc-*.xml
52--
531.7.10.4
54
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.38.2.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.38.2.bb
index 161f7da358..6c336f72fe 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.38.2.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.38.2.bb
@@ -14,6 +14,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
14 file://ptest-dbus.patch \ 14 file://ptest-dbus.patch \
15 file://ptest-paths.patch \ 15 file://ptest-paths.patch \
16 file://gtest-skip-fixes.patch \ 16 file://gtest-skip-fixes.patch \
17 file://gio-test-race.patch \
17 " 18 "
18 19
19SRC_URI_append_class-native = " file://glib-gettextize-dir.patch" 20SRC_URI_append_class-native = " file://glib-gettextize-dir.patch"