diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-11 14:01:50 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-11 14:10:37 +0100 |
commit | 3a319f079d699c870d8531e051ab65e6278d1fa5 (patch) | |
tree | 3c48bdc6f8f39755e2e68bbf9465f679aaf84156 /lib/bb/data_smart.py | |
parent | 1360d7b847cc01031edb2f4b289fac9560d72fa7 (diff) | |
download | bitbake-3a319f079d699c870d8531e051ab65e6278d1fa5.tar.gz |
data_smart: Ensure _remove operations on newly set variables are cleared
We clear append/prepend on newly set variables, we should also clear
remove operations. If we don't do this, there is no way we can actually
delete a remove operation. Bitbake internally uses parsing=True to avoid
these side effects when making its own internal calls.
Also add a testcase to bitbake-selftest to ensure we remain consistent going
forward from here.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/data_smart.py')
-rw-r--r-- | lib/bb/data_smart.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py index d6dd698ef..7dc1c6870 100644 --- a/lib/bb/data_smart.py +++ b/lib/bb/data_smart.py @@ -546,6 +546,8 @@ class DataSmart(MutableMapping): del self.dict[var]["_append"] if "_prepend" in self.dict[var]: del self.dict[var]["_prepend"] + if "_remove" in self.dict[var]: + del self.dict[var]["_remove"] if var in self.overridedata: active = [] self.need_overrides() |