summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/siggen.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-05-12 08:30:35 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-05-16 23:32:40 +0100
commitbc8971d122a02ed823acf0758da267dccc584f98 (patch)
treedd97329507feb611e64fad7f46d97d657f23eae4 /bitbake/lib/bb/siggen.py
parente2f4d9f1ec694768b223decb59a9c768a2da962d (diff)
downloadpoky-bc8971d122a02ed823acf0758da267dccc584f98.tar.gz
bitbake: bitbake: Convert to python 3 megacommit This needs breaking up into smaller changes.
(Bitbake rev: cf51f19aed208a75d38c14cd585d9b9f115e3ba3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/siggen.py')
-rw-r--r--bitbake/lib/bb/siggen.py19
1 files changed, 7 insertions, 12 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 21ecd8fbf5..3352329266 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -3,19 +3,14 @@ import logging
3import os 3import os
4import re 4import re
5import tempfile 5import tempfile
6import pickle
6import bb.data 7import bb.data
7from bb.checksum import FileChecksumCache 8from bb.checksum import FileChecksumCache
8 9
9logger = logging.getLogger('BitBake.SigGen') 10logger = logging.getLogger('BitBake.SigGen')
10 11
11try:
12 import cPickle as pickle
13except ImportError:
14 import pickle
15 logger.info('Importing cPickle failed. Falling back to a very slow implementation.')
16
17def init(d): 12def init(d):
18 siggens = [obj for obj in globals().itervalues() 13 siggens = [obj for obj in globals().values()
19 if type(obj) is type and issubclass(obj, SignatureGenerator)] 14 if type(obj) is type and issubclass(obj, SignatureGenerator)]
20 15
21 desired = d.getVar("BB_SIGNATURE_HANDLER", True) or "noop" 16 desired = d.getVar("BB_SIGNATURE_HANDLER", True) or "noop"
@@ -138,7 +133,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
138 var = lookupcache[dep] 133 var = lookupcache[dep]
139 if var is not None: 134 if var is not None:
140 data = data + str(var) 135 data = data + str(var)
141 self.basehash[fn + "." + task] = hashlib.md5(data).hexdigest() 136 self.basehash[fn + "." + task] = hashlib.md5(data.encode("utf-8")).hexdigest()
142 taskdeps[task] = alldeps 137 taskdeps[task] = alldeps
143 138
144 self.taskdeps[fn] = taskdeps 139 self.taskdeps[fn] = taskdeps
@@ -223,7 +218,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
223 self.taints[k] = taint 218 self.taints[k] = taint
224 logger.warning("%s is tainted from a forced run" % k) 219 logger.warning("%s is tainted from a forced run" % k)
225 220
226 h = hashlib.md5(data).hexdigest() 221 h = hashlib.md5(data.encode("utf-8")).hexdigest()
227 self.taskhash[k] = h 222 self.taskhash[k] = h
228 #d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task]) 223 #d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task])
229 return h 224 return h
@@ -287,7 +282,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
287 with os.fdopen(fd, "wb") as stream: 282 with os.fdopen(fd, "wb") as stream:
288 p = pickle.dump(data, stream, -1) 283 p = pickle.dump(data, stream, -1)
289 stream.flush() 284 stream.flush()
290 os.chmod(tmpfile, 0664) 285 os.chmod(tmpfile, 0o664)
291 os.rename(tmpfile, sigfile) 286 os.rename(tmpfile, sigfile)
292 except (OSError, IOError) as err: 287 except (OSError, IOError) as err:
293 try: 288 try:
@@ -536,7 +531,7 @@ def calc_basehash(sigdata):
536 if val is not None: 531 if val is not None:
537 basedata = basedata + str(val) 532 basedata = basedata + str(val)
538 533
539 return hashlib.md5(basedata).hexdigest() 534 return hashlib.md5(basedata.encode("utf-8")).hexdigest()
540 535
541def calc_taskhash(sigdata): 536def calc_taskhash(sigdata):
542 data = sigdata['basehash'] 537 data = sigdata['basehash']
@@ -553,7 +548,7 @@ def calc_taskhash(sigdata):
553 else: 548 else:
554 data = data + sigdata['taint'] 549 data = data + sigdata['taint']
555 550
556 return hashlib.md5(data).hexdigest() 551 return hashlib.md5(data.encode("utf-8")).hexdigest()
557 552
558 553
559def dump_sigfile(a): 554def dump_sigfile(a):