[OE-core] [PATCH] telepathy-glib: fix a build race

Ross Burton ross.burton at intel.com
Wed Jul 25 12:21:18 UTC 2012


[YOCTO #2462]

Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 ...Fix-a-race-in-_gen-reentrant-methods.list.patch |   42 ++++++++++++++++++++
 .../telepathy/telepathy-glib_0.19.2.bb             |    5 ++-
 2 files changed, 45 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-connectivity/telepathy/telepathy-glib/0001-Fix-a-race-in-_gen-reentrant-methods.list.patch

diff --git a/meta/recipes-connectivity/telepathy/telepathy-glib/0001-Fix-a-race-in-_gen-reentrant-methods.list.patch b/meta/recipes-connectivity/telepathy/telepathy-glib/0001-Fix-a-race-in-_gen-reentrant-methods.list.patch
new file mode 100644
index 0000000..4f8ed2b
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/telepathy-glib/0001-Fix-a-race-in-_gen-reentrant-methods.list.patch
@@ -0,0 +1,42 @@
+From 8ff62dc34961e997fb0224517aef0f12d455a82b Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton at intel.com>
+Date: Wed, 25 Jul 2012 12:58:16 +0100
+Subject: [PATCH] Fix a race in _gen/reentrant-methods.list
+
+Very occasionally, a parallel build will fail like this:
+
+| Making all in telepathy-glib
+| make[2]: Entering directory `/buildarea1/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/telepathy-glib-0.19.2-r0/telepathy-glib-0.19.2/telepathy-glib'
+| /bin/mkdir -p _gen
+| ( cd . && cat versions/0.7.0.abi [...] versions/0.19.2.abi  ) | \
+| 		/bin/grep '^tp_cli_.*_run_.*' > _gen/reentrant-methods.list.tmp
+| /bin/sh: line 1: _gen/reentrant-methods.list.tmp: No such file or directory
+| make[2]: *** [_gen/reentrant-methods.list] Error 1
+
+It's doing the mkdir and the subshell in parallel, when the mkdir should be done
+first.  Add an explicit dependency on spec-stamp to reentrant-methods.list to
+ensure the ordering.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=52480
+
+Upstream-Status: Submitted
+---
+ telepathy-glib/codegen.am |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/telepathy-glib/codegen.am b/telepathy-glib/codegen.am
+index 26caaef..6ad3ec5 100644
+--- a/telepathy-glib/codegen.am
++++ b/telepathy-glib/codegen.am
+@@ -149,7 +149,7 @@ _gen/stable-spec.xml: stable-interfaces.xml _gen/stable-stamp $(tools_dir)/xincl
+ # Grab a list of re-entrant tp_cli_*_run_* methods we are committed to
+ # generating for backwards compatibility.
+ # grep --no-filename is not portable :-(
+-_gen/reentrant-methods.list: $(ABI_LISTS) codegen.am
++_gen/reentrant-methods.list: _gen/spec-stamp $(ABI_LISTS) codegen.am
+ 	$(AM_V_GEN)( cd $(srcdir) && cat $(ABI_LISTS) ) | \
+ 		$(GREP) '^tp_cli_.*_run_.*' > $@.tmp
+ 	@mv $@.tmp $@
+-- 
+1.7.10.4
+
diff --git a/meta/recipes-connectivity/telepathy/telepathy-glib_0.19.2.bb b/meta/recipes-connectivity/telepathy/telepathy-glib_0.19.2.bb
index deba3bb..9dbc5be 100644
--- a/meta/recipes-connectivity/telepathy/telepathy-glib_0.19.2.bb
+++ b/meta/recipes-connectivity/telepathy/telepathy-glib_0.19.2.bb
@@ -3,9 +3,10 @@ DESCRIPTION = "Telepathy Framework: GLib-based helper library for connection man
 HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
 DEPENDS = "glib-2.0 dbus python-native-runtime dbus-native dbus-glib"
 LICENSE = "LGPLv2.1+"
-PR = "r0"
+PR = "r1"
 
-SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BPN}-${PV}.tar.gz"
+SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BPN}-${PV}.tar.gz \
+           file://0001-Fix-a-race-in-_gen-reentrant-methods.list.patch"
 
 SRC_URI[md5sum] = "af2b33c1215f189e637bd59cc9139255"
 SRC_URI[sha256sum] = "7e3c313ed08e26339deb603a615cec62a370131075514439f79f473f92ab84c3"
-- 
1.7.10





More information about the Openembedded-core mailing list