* [PATCH] autotools: Fix interaction with bitbake -b
@ 2016-02-12 11:35 Richard Purdie
0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2016-02-12 11:35 UTC (permalink / raw)
To: openembedded-core
If you run bitbake -b on something using autotools with dependencies on
m4 files, it currently fails as the TASKDEPDATA is incomplete for
bitbake -b
and this means the relevant macros aren't found.
Work around this by adding *all* m4 files for the -b case (and show a warning).
[YOCTO #8890]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index a5f2bff..6649f5d 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -148,12 +148,18 @@ python autotools_copy_aclocals () {
bb.utils.mkdirhier(aclocaldir)
start = None
configuredeps = []
+ # Detect bitbake -b usage
+ # Everything but quilt-native would have dependencies
+ nodeps = (pn != "quilt-native")
for dep in taskdepdata:
data = taskdepdata[dep]
if data[1] == "do_configure" and data[0] == pn:
start = dep
+ if not nodeps and start:
break
+ if nodeps and data[0] != pn:
+ nodeps = False
if start is None:
bb.fatal("Couldn't find ourself in BB_TASKDEPDATA?")
@@ -188,6 +194,11 @@ python autotools_copy_aclocals () {
#bb.warn(str(configuredeps2))
cp = []
+ if nodeps:
+ bb.warn("autotools: Unable to find task dependencies, -b being used? Pulling in all m4 files")
+ for l in [d.expand("${STAGING_DATADIR_NATIVE}/aclocal/"), d.expand("${STAGING_DATADIR}/aclocal/")]:
+ cp.extend(os.path.join(l, f) for f in os.listdir(l))
+
for c in configuredeps:
if c.endswith("-native"):
manifest = d.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}-%s.populate_sysroot" % c)
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2016-02-12 11:35 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-12 11:35 [PATCH] autotools: Fix interaction with bitbake -b Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox