mirror of
https://git.yoctoproject.org/poky
synced 2026-02-15 05:03:03 +01:00
sstatesig: Log timestamps for hashequiv in reprodubile builds for do_package
Currently if a task generates the same output with different timestamps, hasequiv won't detect it but reproducibile builds will fail tests due to the different timestamps. Add do_package timestamps to the hash when reproducibile builds are enabled to avoid this. (From OE-Core rev: 11e8200ccec765ff6a4263e06512e5751eca261a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -484,6 +484,9 @@ def OEOuthashBasic(path, sigfile, task, d):
|
||||
include_owners = os.environ.get('PSEUDO_DISABLED') == '0'
|
||||
if "package_write_" in task or task == "package_qa":
|
||||
include_owners = False
|
||||
include_timestamps = False
|
||||
if task == "package":
|
||||
include_timestamps = d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1'
|
||||
extra_content = d.getVar('HASHEQUIV_HASH_VERSION')
|
||||
|
||||
try:
|
||||
@@ -558,6 +561,9 @@ def OEOuthashBasic(path, sigfile, task, d):
|
||||
bb.warn("KeyError in %s" % path)
|
||||
raise
|
||||
|
||||
if include_timestamps:
|
||||
update_hash(" %10d" % s.st_mtime)
|
||||
|
||||
update_hash(" ")
|
||||
if stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode):
|
||||
update_hash("%9s" % ("%d.%d" % (os.major(s.st_rdev), os.minor(s.st_rdev))))
|
||||
|
||||
Reference in New Issue
Block a user