From 8ff62dc34961e997fb0224517aef0f12d455a82b Mon Sep 17 00:00:00 2001 From: Ross Burton 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 --- 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