diff options
Diffstat (limited to 'meta/lib')
| -rw-r--r-- | meta/lib/oe/sstatesig.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index 5dcc2f5cd6..18c5a353a2 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py | |||
| @@ -150,16 +150,23 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): | |||
| 150 | if recipename in self.unlockedrecipes: | 150 | if recipename in self.unlockedrecipes: |
| 151 | unlocked = True | 151 | unlocked = True |
| 152 | else: | 152 | else: |
| 153 | def get_mc(tid): | ||
| 154 | tid = tid.rsplit('.', 1)[0] | ||
| 155 | if tid.startswith('multiconfig:'): | ||
| 156 | elems = tid.split(':') | ||
| 157 | return elems[1] | ||
| 153 | def recipename_from_dep(dep): | 158 | def recipename_from_dep(dep): |
| 154 | # The dep entry will look something like | 159 | # The dep entry will look something like |
| 155 | # /path/path/recipename.bb.task, virtual:native:/p/foo.bb.task, | 160 | # /path/path/recipename.bb.task, virtual:native:/p/foo.bb.task, |
| 156 | # ... | 161 | # ... |
| 162 | |||
| 157 | fn = dep.rsplit('.', 1)[0] | 163 | fn = dep.rsplit('.', 1)[0] |
| 158 | return dataCache.pkg_fn[fn] | 164 | return dataCache.pkg_fn[fn] |
| 159 | 165 | ||
| 166 | mc = get_mc(fn) | ||
| 160 | # If any unlocked recipe is in the direct dependencies then the | 167 | # If any unlocked recipe is in the direct dependencies then the |
| 161 | # current recipe should be unlocked as well. | 168 | # current recipe should be unlocked as well. |
| 162 | depnames = [ recipename_from_dep(x) for x in deps ] | 169 | depnames = [ recipename_from_dep(x) for x in deps if mc == get_mc(x)] |
| 163 | if any(x in y for y in depnames for x in self.unlockedrecipes): | 170 | if any(x in y for y in depnames for x in self.unlockedrecipes): |
| 164 | self.unlockedrecipes[recipename] = '' | 171 | self.unlockedrecipes[recipename] = '' |
| 165 | unlocked = True | 172 | unlocked = True |
