From: Stefan Metzmacher Date: Tue, 26 Aug 2014 21:11:39 +0000 (+0200) Subject: wafsamba: fix dependency calculation for SAMBA_GENERATOR() X-Git-Tag: samba-4.0.23~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=569dc701e3890e6706ed3bd42278d70ece07a4fd;p=thirdparty%2Fsamba.git wafsamba: fix dependency calculation for SAMBA_GENERATOR() We need to checksum the rule as string command of the sourcecode of the python function. This is stored in the 'ruledeps' envariable on the waf Task. See exec_rule() in wafadmin/TaskGen.py. dep_vars = getattr(self, 'dep_vars', ['ruledeps']) if dep_vars: tsk.dep_vars = dep_vars if isinstance(self.rule, str): tsk.env.ruledeps = self.rule else: # only works if the function is in a global module such as a waf tool tsk.env.ruledeps = Utils.h_fun(self.rule) If there's no 'dep_vars' it defaults to ['ruledeps']. As we pass our own 'dep_vars' we need to explicitly add 'ruledeps'. BUG: https://bugzilla.samba.org/show_bug.cgi?id=10472 Signed-off-by: Stefan Metzmacher Reviewed-by: Michael Adam (cherry picked from commit ee8fbbd41741e958e0ab6d7b9ab465d664abac60) --- diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index 73f1ae9f469..1763b00b10f 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -592,6 +592,7 @@ def SAMBA_GENERATOR(bld, name, rule, source='', target='', dep_vars = vars.keys() elif isinstance(vars, list): dep_vars = vars + dep_vars.append('ruledeps') bld.SET_BUILD_GROUP(group) t = bld( @@ -603,7 +604,7 @@ def SAMBA_GENERATOR(bld, name, rule, source='', target='', before='cc', ext_out='.c', samba_type='GENERATOR', - dep_vars = [rule] + dep_vars, + dep_vars = dep_vars, name=name) if always: