diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-09-26 14:11:30 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-09-30 16:55:21 +0100 |
commit | d80dd1c3f913259a58008a2ed2822b70e6297335 (patch) | |
tree | d11e1432c0191064d0570c478d5cb66f74e0dc56 /meta/lib/oe | |
parent | ca6cc9fa529c207a761e3cd5d2b09dc658ed45dc (diff) | |
download | poky-d80dd1c3f913259a58008a2ed2822b70e6297335.tar.gz |
lib/sstatesig: Fix class inheritance problems
The locked sigs class needs to be inherited after the hashequiv mixin so
that get_unihash can correctly wrap the underlying hashequiv function.
To do this turn the locked sigs class into a second mixin, then the order
can be correctly handled. Tweak the get/set_taskdata to match.
(From OE-Core rev: 73d3414ecf594e426e6024b71931038a201eca52)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe')
-rw-r--r-- | meta/lib/oe/sstatesig.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index 43eb6034e6..c566ce5a0c 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py | |||
@@ -90,8 +90,7 @@ class SignatureGeneratorOEBasic(bb.siggen.SignatureGeneratorBasic): | |||
90 | def rundep_check(self, fn, recipename, task, dep, depname, dataCache = None): | 90 | def rundep_check(self, fn, recipename, task, dep, depname, dataCache = None): |
91 | return sstate_rundepfilter(self, fn, recipename, task, dep, depname, dataCache) | 91 | return sstate_rundepfilter(self, fn, recipename, task, dep, depname, dataCache) |
92 | 92 | ||
93 | class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): | 93 | class SignatureGeneratorOEBasicHashMixIn(object): |
94 | name = "OEBasicHash" | ||
95 | def init_rundepcheck(self, data): | 94 | def init_rundepcheck(self, data): |
96 | self.abisaferecipes = (data.getVar("SIGGEN_EXCLUDERECIPES_ABISAFE") or "").split() | 95 | self.abisaferecipes = (data.getVar("SIGGEN_EXCLUDERECIPES_ABISAFE") or "").split() |
97 | self.saferecipedeps = (data.getVar("SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS") or "").split() | 96 | self.saferecipedeps = (data.getVar("SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS") or "").split() |
@@ -129,12 +128,11 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): | |||
129 | return sstate_rundepfilter(self, fn, recipename, task, dep, depname, dataCache) | 128 | return sstate_rundepfilter(self, fn, recipename, task, dep, depname, dataCache) |
130 | 129 | ||
131 | def get_taskdata(self): | 130 | def get_taskdata(self): |
132 | data = super(bb.siggen.SignatureGeneratorBasicHash, self).get_taskdata() | 131 | return (self.lockedpnmap, self.lockedhashfn, self.lockedhashes) + super().get_taskdata() |
133 | return (data, self.lockedpnmap, self.lockedhashfn, self.lockedhashes) | ||
134 | 132 | ||
135 | def set_taskdata(self, data): | 133 | def set_taskdata(self, data): |
136 | coredata, self.lockedpnmap, self.lockedhashfn, self.lockedhashes = data | 134 | self.lockedpnmap, self.lockedhashfn, self.lockedhashes = data[:3] |
137 | super(bb.siggen.SignatureGeneratorBasicHash, self).set_taskdata(coredata) | 135 | super().set_taskdata(data[3:]) |
138 | 136 | ||
139 | def dump_sigs(self, dataCache, options): | 137 | def dump_sigs(self, dataCache, options): |
140 | sigfile = os.getcwd() + "/locked-sigs.inc" | 138 | sigfile = os.getcwd() + "/locked-sigs.inc" |
@@ -263,7 +261,10 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): | |||
263 | if error_msgs: | 261 | if error_msgs: |
264 | bb.fatal("\n".join(error_msgs)) | 262 | bb.fatal("\n".join(error_msgs)) |
265 | 263 | ||
266 | class SignatureGeneratorOEEquivHash(bb.siggen.SignatureGeneratorUniHashMixIn, SignatureGeneratorOEBasicHash): | 264 | class SignatureGeneratorOEBasicHash(SignatureGeneratorOEBasicHashMixIn, bb.siggen.SignatureGeneratorBasicHash): |
265 | name = "OEBasicHash" | ||
266 | |||
267 | class SignatureGeneratorOEEquivHash(SignatureGeneratorOEBasicHashMixIn, bb.siggen.SignatureGeneratorUniHashMixIn, bb.siggen.SignatureGeneratorBasicHash): | ||
267 | name = "OEEquivHash" | 268 | name = "OEEquivHash" |
268 | 269 | ||
269 | def init_rundepcheck(self, data): | 270 | def init_rundepcheck(self, data): |