mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 03:49:32 +02:00
bitbake: siggen: Ensure version of siggen is verified
Since we need to change the form of the siggen function, we need to add versioning and some verison checks. This means if a newer bitbake is used with older metadata we can detect it. (Bitbake rev: 721556568413508213d22c29985e305a45a8d68a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -777,6 +777,7 @@ class CommandsAsync:
|
|||||||
(mc, pn) = bb.runqueue.split_mc(params[0])
|
(mc, pn) = bb.runqueue.split_mc(params[0])
|
||||||
taskname = params[1]
|
taskname = params[1]
|
||||||
sigs = params[2]
|
sigs = params[2]
|
||||||
|
bb.siggen.check_siggen_version(bb.siggen)
|
||||||
res = bb.siggen.find_siginfo(pn, taskname, sigs, command.cooker.databuilder.mcdata[mc])
|
res = bb.siggen.find_siginfo(pn, taskname, sigs, command.cooker.databuilder.mcdata[mc])
|
||||||
bb.event.fire(bb.event.FindSigInfoResult(res), command.cooker.databuilder.mcdata[mc])
|
bb.event.fire(bb.event.FindSigInfoResult(res), command.cooker.databuilder.mcdata[mc])
|
||||||
command.finishAsyncCommand()
|
command.finishAsyncCommand()
|
||||||
|
|||||||
@@ -1749,6 +1749,7 @@ class RunQueue:
|
|||||||
return invalidtasks.difference(found)
|
return invalidtasks.difference(found)
|
||||||
|
|
||||||
def write_diffscenetasks(self, invalidtasks):
|
def write_diffscenetasks(self, invalidtasks):
|
||||||
|
bb.siggen.check_siggen_version(bb.siggen)
|
||||||
|
|
||||||
# Define recursion callback
|
# Define recursion callback
|
||||||
def recursecb(key, hash1, hash2):
|
def recursecb(key, hash1, hash2):
|
||||||
|
|||||||
@@ -24,6 +24,16 @@ import hashserv.client
|
|||||||
logger = logging.getLogger('BitBake.SigGen')
|
logger = logging.getLogger('BitBake.SigGen')
|
||||||
hashequiv_logger = logging.getLogger('BitBake.SigGen.HashEquiv')
|
hashequiv_logger = logging.getLogger('BitBake.SigGen.HashEquiv')
|
||||||
|
|
||||||
|
#find_siginfo and find_siginfo_version are set by the metadata siggen
|
||||||
|
# The minimum version of the find_siginfo function we need
|
||||||
|
find_siginfo_minversion = 2
|
||||||
|
|
||||||
|
def check_siggen_version(siggen):
|
||||||
|
if not hasattr(siggen, "find_siginfo_version"):
|
||||||
|
bb.fatal("Siggen from metadata (OE-Core?) is too old, please update it (no version found)")
|
||||||
|
if siggen.find_siginfo_version < siggen.find_siginfo_minversion:
|
||||||
|
bb.fatal("Siggen from metadata (OE-Core?) is too old, please update it (%s vs %s)" % (siggen.find_siginfo_version, siggen.find_siginfo_minversion))
|
||||||
|
|
||||||
class SetEncoder(json.JSONEncoder):
|
class SetEncoder(json.JSONEncoder):
|
||||||
def default(self, obj):
|
def default(self, obj):
|
||||||
if isinstance(obj, set) or isinstance(obj, frozenset):
|
if isinstance(obj, set) or isinstance(obj, frozenset):
|
||||||
|
|||||||
Reference in New Issue
Block a user