From 715d857174ceca82b85d6c8c7df520047ba7fb0c Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 17 Aug 2015 12:12:16 +0100 Subject: bitbake: Fix default function parameter assignment to a list With python you should not assign a list as the default value of a function parameter - because a list is mutable, the result will be that the first time a value is passed it will actually modify the default. Reference: http://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments (Bitbake rev: 7859f7388f2e3f675d0e1527cfde18625f36f637) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bitbake/lib/bb/taskdata.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'bitbake/lib/bb/taskdata.py') diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py index ca58e17922..5fab7043cc 100644 --- a/bitbake/lib/bb/taskdata.py +++ b/bitbake/lib/bb/taskdata.py @@ -514,7 +514,7 @@ class TaskData: self.add_runtime_target(fn, item) self.add_tasks(fn, dataCache) - def fail_fnid(self, fnid, missing_list = []): + def fail_fnid(self, fnid, missing_list=None): """ Mark a file as failed (unbuildable) Remove any references from build and runtime provider lists @@ -523,6 +523,8 @@ class TaskData: """ if fnid in self.failed_fnids: return + if not missing_list: + missing_list = [] logger.debug(1, "File '%s' is unbuildable, removing...", self.fn_index[fnid]) self.failed_fnids.append(fnid) for target in self.build_targets: @@ -536,7 +538,7 @@ class TaskData: if len(self.run_targets[target]) == 0: self.remove_runtarget(target, missing_list) - def remove_buildtarget(self, targetid, missing_list = []): + def remove_buildtarget(self, targetid, missing_list=None): """ Mark a build target as failed (unbuildable) Trigger removal of any files that have this as a dependency @@ -561,7 +563,7 @@ class TaskData: logger.error("Required build target '%s' has no buildable providers.\nMissing or unbuildable dependency chain was: %s", target, missing_list) raise bb.providers.NoProvider(target) - def remove_runtarget(self, targetid, missing_list = []): + def remove_runtarget(self, targetid, missing_list=None): """ Mark a run target as failed (unbuildable) Trigger removal of any files that have this as a dependency -- cgit v1.2.3-54-g00ecf