telepathy-glib: Fix a race in _gen/reentrant-methods.list
Simon McVittie
smcv at kemper.freedesktop.org
Thu Jul 26 04:02:54 PDT 2012
Module: telepathy-glib
Branch: master
Commit: fbacc9202217a86da303df05d881bfefe6385bd9
URL: http://cgit.freedesktop.org/telepathy/telepathy-glib/commit/?id=fbacc9202217a86da303df05d881bfefe6385bd9
Author: Ross Burton <ross.burton at intel.com>
Date: Wed Jul 25 12:58:16 2012 +0100
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 at collabora.co.uk>
Reviwewed-by: Simon McVittie <simon.mcvittie at collabora.co.uk>
---
telepathy-glib/codegen.am | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
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 $@
More information about the telepathy-commits
mailing list