summaryrefslogtreecommitdiffstats
path: root/meta/classes/autotools.bbclass
diff options
context:
space:
mode:
authorChristopher Larson <chris_larson@mentor.com>2015-09-19 22:19:24 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-23 09:53:06 +0100
commit6adffd09e5c69584063cc25fc7f9facb1f755b8e (patch)
tree4e935bc63e51f056fb3362304999cb34ed9b71f7 /meta/classes/autotools.bbclass
parent6a02bbd5de2f08f279c0e856cbee0d575a229876 (diff)
downloadpoky-6adffd09e5c69584063cc25fc7f9facb1f755b8e.tar.gz
autotools: fix traversal bug in aclocal copying
The logic is supposed to avoid following dependencies when we depend on a target recipe which depends on a native recipe. The problem is, we were marking the dep (the native recipe) as already processed when we avoided traversal, meaning that even when that recipe would be pulled in via a different dependency, we skipped it there too, and whether it was skipped entirely depended on the non-deterministic dep processing order. If the first one to be encountered was via the indirect target dep, it wouldn't end up in configuredeps, otherwise it would. As we want to avoid traversing that particular dependency relationship, not *every* dependency on the native, we should continue, but not add it to done, so it can be traversed from other avenues. This fixes an intermittent bug in some of my non-GPLv3 builds, where one dependency upon gettext-minimal-native was skipped, but others should not have been, resulting in it being removed from configuredeps entirely, and no gettext macros being available. Cc: Richard Purdie <richard.purdie@linuxfoundation.org> (From OE-Core rev: e6d4f8198a8708f54fc17333ae643b51ed9100b6) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/autotools.bbclass')
-rw-r--r--meta/classes/autotools.bbclass2
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 819045a3b4..078f58fad3 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -168,9 +168,9 @@ python autotools_copy_aclocals () {
168 for datadep in data[3]: 168 for datadep in data[3]:
169 if datadep in done: 169 if datadep in done:
170 continue 170 continue
171 done.append(datadep)
172 if (not data[0].endswith("-native")) and taskdepdata[datadep][0].endswith("-native") and dep != start: 171 if (not data[0].endswith("-native")) and taskdepdata[datadep][0].endswith("-native") and dep != start:
173 continue 172 continue
173 done.append(datadep)
174 new.append(datadep) 174 new.append(datadep)
175 if taskdepdata[datadep][1] == "do_configure": 175 if taskdepdata[datadep][1] == "do_configure":
176 configuredeps.append(taskdepdata[datadep][0]) 176 configuredeps.append(taskdepdata[datadep][0])