]> code.ossystems Code Review - openembedded-core.git/commitdiff
archiver: check tasks exist before adding dependencies
authorRoss Burton <ross.burton@intel.com>
Fri, 28 Sep 2018 13:45:40 +0000 (14:45 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 1 Oct 2018 12:04:44 +0000 (13:04 +0100)
Some recipes don't have do_configure, or have them but are marked as noexec.
Check for their existance before hooking up dependencies.

[ YOCTO #12868 ]

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/archiver.bbclass

index 31c9b7eb4b6d4d360f384718ba9064cc324b6ac9..7c3e701e70436c208762930c628f915ee83547f2 100644 (file)
@@ -98,9 +98,12 @@ python () {
 
         # There is a corner case with "gcc-source-${PV}" recipes, they don't have
         # the "do_configure" task, so we need to use "do_preconfigure"
-        if pn.startswith("gcc-source-"):
+        def hasTask(task):
+            return bool(d.getVarFlag(task, "task", False)) and not bool(d.getVarFlag(task, "noexec", False))
+
+        if hasTask("do_preconfigure"):
             d.appendVarFlag('do_ar_configured', 'depends', ' %s:do_preconfigure' % pn)
-        else:
+        elif hasTask("do_configure"):
             d.appendVarFlag('do_ar_configured', 'depends', ' %s:do_configure' % pn)
         d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_ar_configured' % pn)