[bitbake-devel] [PATCH] taskdata.py: include more information in error message about broken task depends

Patrick Ohly patrick.ohly at intel.com
Fri Mar 17 09:20:23 UTC 2017


This is what was reported when variable expansion in the 'depends'
varflag of a task was broken:

   ERROR: Error for .../refkit-image-common.bb, dependency ${@ does not contain exactly one ':' character.
    Task 'depends' should be specified in the form 'packagename:task'

It's not clear which task had this broken 'depends' and while one can
guess that variable expansion failed, the full expression isn't
printed either.

This is more useful:

   ERROR: Error for .../refkit-image-common.bb:do_stage_swupd_inputs[depends], dependency ${@ in '      virtual/fakeroot-native:do_populate_sysroot     ${@ ' '.join(['bundle-refkit-image-common-%s:do_swupd_list_bundle' % x for x in '${SWUPD_BUNDLES}'.split()]) } ' does not contain exactly one ':' character.
    Task 'depends' should be specified in the form 'packagename:task'

The 'depends' part gets repeated intentionally, to ensure that it doesn't get overlooked.

Signed-off-by: Patrick Ohly <patrick.ohly at intel.com>
---
 lib/bb/taskdata.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/bb/taskdata.py b/lib/bb/taskdata.py
index 1f3b24c8..8c96a562 100644
--- a/lib/bb/taskdata.py
+++ b/lib/bb/taskdata.py
@@ -97,7 +97,7 @@ class TaskData:
                     if dep:
                         parts = dep.split(":")
                         if len(parts) != 2:
-                            bb.msg.fatal("TaskData", "Error for %s, dependency %s does not contain exactly one ':' character.\n Task '%s' should be specified in the form 'packagename:task'" % (fn, dep, dep_name))
+                            bb.msg.fatal("TaskData", "Error for %s:%s[%s], dependency %s in '%s' does not contain exactly one ':' character.\n Task '%s' should be specified in the form 'packagename:task'" % (fn, task, dep_name, dep, task_deps[dep_name][task], dep_name))
                         ids.append((parts[0], parts[1]))
                         seen(parts[0])
                 depends.extend(ids)
-- 
2.11.0




More information about the bitbake-devel mailing list