diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index 46a0221e10..707029de93 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py @@ -615,7 +615,7 @@ class DataSmart(MutableMapping): else: cachename = var + "[" + flag + "]" value = self.expand(value, cachename) - if value is not None and flag == "_content" and local_var is not None and "_removeactive" in local_var: + if value and flag == "_content" and local_var is not None and "_removeactive" in local_var: filtered = filter(lambda v: v not in local_var["_removeactive"], value.split(" ")) value = " ".join(filtered) diff --git a/bitbake/lib/bb/tests/data.py b/bitbake/lib/bb/tests/data.py index ee66b22e25..228f72c1f5 100644 --- a/bitbake/lib/bb/tests/data.py +++ b/bitbake/lib/bb/tests/data.py @@ -253,6 +253,11 @@ class TestConcatOverride(unittest.TestCase): bb.data.update_data(self.d) self.assertEqual(self.d.getVar("TEST_TEST", True), "bar bar") + def test_empty_remove(self): + self.d.setVar("TEST", "") + self.d.setVar("TEST_remove", "val") + bb.data.update_data(self.d) + self.assertEqual(self.d.getVar("TEST", True), "") class TestOverrides(unittest.TestCase): def setUp(self):