diff options
author | Ross Burton <ross.burton@intel.com> | 2014-02-04 16:15:14 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-02-06 15:30:45 +0000 |
commit | bc7a5b9442100112541a79a6d4f7ffed22c5b7bc (patch) | |
tree | caaa9caf05be9d1706fb566af44c31c748f9e3d4 | |
parent | 4217302c296afd49011ff0b307247a14da3a4985 (diff) | |
download | poky-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.patch | 54 | ||||
-rw-r--r-- | meta/recipes-core/glib-2.0/glib-2.0_2.38.2.bb | 1 |
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 @@ | |||
1 | Upstream-Status: Submitted | ||
2 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
3 | |||
4 | From a047a0270ee5faf1d9d6080cbc613defdf52baea Mon Sep 17 00:00:00 2001 | ||
5 | From: Ross Burton <ross.burton@intel.com> | ||
6 | Date: Tue, 4 Feb 2014 13:15:08 +0000 | ||
7 | Subject: [PATCH] gio/tests: fix race when generating code | ||
8 | |||
9 | There 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 | |||
14 | This is because a rule like this: | ||
15 | |||
16 | x.c x.h: prerequisites | ||
17 | @commands | ||
18 | |||
19 | doesn't consider x.c and x.h together. Instead, it expands to two rules, one to | ||
20 | generate x.c and one to generate x.h, which happen to run the same commands. In | ||
21 | the worst case they execute in parallel, overwriting each other's output. | ||
22 | |||
23 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
24 | |||
25 | https://bugzilla.gnome.org/show_bug.cgi?id=723616 | ||
26 | --- | ||
27 | gio/tests/Makefile.am | 4 +++- | ||
28 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
29 | |||
30 | diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am | ||
31 | index 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 | -- | ||
53 | 1.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 | ||
19 | SRC_URI_append_class-native = " file://glib-gettextize-dir.patch" | 20 | SRC_URI_append_class-native = " file://glib-gettextize-dir.patch" |