diff options
author | Christopher Larson <chris_larson@mentor.com> | 2015-09-19 22:19:24 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-23 09:53:06 +0100 |
commit | 6adffd09e5c69584063cc25fc7f9facb1f755b8e (patch) | |
tree | 4e935bc63e51f056fb3362304999cb34ed9b71f7 /meta/classes | |
parent | 6a02bbd5de2f08f279c0e856cbee0d575a229876 (diff) | |
download | poky-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')
-rw-r--r-- | meta/classes/autotools.bbclass | 2 |
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]) |