1 # Generate a signature / hash from the metadata
3 # Using a blacklist rather than a whitelist is safest, at least if you're
4 # utilizing the signature in your pstage package filenames, as the failure
5 # mode for blacklist is an unnecessary rebuild from source, whereas the
6 # failure case for a whitelist is use of incorrect binaries.
8 BB_HASH_BLACKLIST += "BUILDSTART DATE TIME DATETIME \
13 from fnmatch import fnmatchcase
17 except AttributeError:
18 blacklist = (d.getVar("BB_HASH_BLACKLIST", True) or "").split()
19 items = ((key, repr(d.getVar(key, False)))
21 if not any(fnmatchcase(key, pattern) for pattern in blacklist))
22 signature = hash(frozenset(items))
25 SIGNATURE = "${@get_data_hash(d.getVar('__RECIPEDATA', False) or d)}"
28 d.setVar("__RECIPEDATA", d)