summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/telepathy/telepathy-glib/0001-Fix-a-race-in-_gen-reentrant-methods.list.patch
blob: 4f8ed2be042a8656b5f9dc94beaae5714b6ecb8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
From 8ff62dc34961e997fb0224517aef0f12d455a82b Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@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