summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2012-07-25 12:58:16 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2012-07-26 11:49:54 +0100
commitfbacc9202217a86da303df05d881bfefe6385bd9 (patch)
tree5a63636bc58d77f6306a2486da98f8bb3dc393b9
parent38ca0a65e896c3af583b0c2ece61bc717746cd06 (diff)
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. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=52480 Reviwewed-by: Jonny Lamb <jonny.lamb@collabora.co.uk> Reviwewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
-rw-r--r--telepathy-glib/codegen.am2
1 files changed, 1 insertions, 1 deletions
diff --git a/telepathy-glib/codegen.am b/telepathy-glib/codegen.am
index 26caaef0b..6ad3ec5e6 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 $@