[OE-core] [PATCH 1/1] archiver.bbclass: fix an exception of the mode configured

kai.kang at windriver.com kai.kang at windriver.com
Mon Nov 16 01:44:09 UTC 2015


From: Kai Kang <kai.kang at windriver.com>

If ARCHIVER_MODE[src] is set with 'configured', the task
do_ar_configured depends on do_configure. Package gcc-source
has deleted task do_configure, then causes error:

| ERROR: Task do_ar_configured in .../meta/recipes-devtools/gcc/gcc-source_5.2.bb
| depends upon non-existent task do_configure in .../meta/recipes-devtools/gcc/gcc-source_5.2.bb

Only add the dependency when the task exits.

Signed-off-by: Kai Kang <kai.kang at windriver.com>
---
 meta/classes/archiver.bbclass | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index 41a552c..0874553 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -73,8 +73,13 @@ python () {
         # We can't use "addtask do_ar_configured after do_configure" since it
         # will cause the deptask of do_populate_sysroot to run not matter what
         # archives we need, so we add the depends here.
-        d.appendVarFlag('do_ar_configured', 'depends', ' %s:do_configure' % pn)
-        d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_ar_configured' % pn)
+        #
+        # For some specific packages like gcc-source, do_configure may be deleted.
+        if 'do_configure' not in (d.getVar('__BBTASKS', False) or []):
+            pass
+        else:
+            d.appendVarFlag('do_ar_configured', 'depends', ' %s:do_configure' % pn)
+            d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_ar_configured' % pn)
     elif ar_src:
         bb.fatal("Invalid ARCHIVER_MODE[src]: %s" % ar_src)
 
-- 
2.6.1




More information about the Openembedded-core mailing list