diff options
Diffstat (limited to 'bitbake/lib')
-rw-r--r-- | bitbake/lib/bb/data_smart.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index c91b51f686..941c158f7d 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py | |||
@@ -369,7 +369,9 @@ class DataSmart(MutableMapping): | |||
369 | self.inoverride = True | 369 | self.inoverride = True |
370 | # Can end up here recursively so setup dummy values | 370 | # Can end up here recursively so setup dummy values |
371 | self.overrides = [] | 371 | self.overrides = [] |
372 | self.overridesset = set() | ||
372 | self.overrides = (self.getVar("OVERRIDES", True) or "").split(":") or [] | 373 | self.overrides = (self.getVar("OVERRIDES", True) or "").split(":") or [] |
374 | self.overridesset = set(self.overrides) | ||
373 | self.inoverride = False | 375 | self.inoverride = False |
374 | self.expand_cache = {} | 376 | self.expand_cache = {} |
375 | 377 | ||
@@ -450,10 +452,10 @@ class DataSmart(MutableMapping): | |||
450 | active = [] | 452 | active = [] |
451 | self.need_overrides() | 453 | self.need_overrides() |
452 | for (r, o) in self.overridedata[var]: | 454 | for (r, o) in self.overridedata[var]: |
453 | if o in self.overrides: | 455 | if o in self.overridesset: |
454 | active.append(r) | 456 | active.append(r) |
455 | elif "_" in o: | 457 | elif "_" in o: |
456 | if set(o.split("_")).issubset(set(self.overrides)): | 458 | if set(o.split("_")).issubset(self.overridesset): |
457 | active.append(r) | 459 | active.append(r) |
458 | for a in active: | 460 | for a in active: |
459 | self.delVar(a) | 461 | self.delVar(a) |
@@ -600,10 +602,12 @@ class DataSmart(MutableMapping): | |||
600 | self.need_overrides() | 602 | self.need_overrides() |
601 | for (r, o) in self.overridedata[var]: | 603 | for (r, o) in self.overridedata[var]: |
602 | # What about double overrides both with "_" in the name? | 604 | # What about double overrides both with "_" in the name? |
603 | if o in self.overrides: | 605 | if o in self.overridesset: |
604 | active[o] = r | ||
605 | elif set(o.split("_")).issubset(set(self.overrides)): | ||
606 | active[o] = r | 606 | active[o] = r |
607 | elif "_" in o: | ||
608 | if set(o.split("_")).issubset(self.overridesset): | ||
609 | active[o] = r | ||
610 | |||
607 | mod = True | 611 | mod = True |
608 | while mod: | 612 | while mod: |
609 | mod = False | 613 | mod = False |