diff options
| -rw-r--r-- | meta/classes-global/sstate.bbclass | 16 | ||||
| -rw-r--r-- | meta/lib/oe/sstatesig.py | 7 |
2 files changed, 6 insertions, 17 deletions
diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass index 11bb892a42..8e0391c666 100644 --- a/meta/classes-global/sstate.bbclass +++ b/meta/classes-global/sstate.bbclass | |||
| @@ -641,15 +641,6 @@ def sstate_package(ss, d): | |||
| 641 | 641 | ||
| 642 | tmpdir = d.getVar('TMPDIR') | 642 | tmpdir = d.getVar('TMPDIR') |
| 643 | 643 | ||
| 644 | fixtime = False | ||
| 645 | if ss['task'] == "package": | ||
| 646 | fixtime = True | ||
| 647 | |||
| 648 | def fixtimestamp(root, path): | ||
| 649 | f = os.path.join(root, path) | ||
| 650 | if os.lstat(f).st_mtime > sde: | ||
| 651 | os.utime(f, (sde, sde), follow_symlinks=False) | ||
| 652 | |||
| 653 | sstatebuild = d.expand("${WORKDIR}/sstate-build-%s/" % ss['task']) | 644 | sstatebuild = d.expand("${WORKDIR}/sstate-build-%s/" % ss['task']) |
| 654 | sde = int(d.getVar("SOURCE_DATE_EPOCH") or time.time()) | 645 | sde = int(d.getVar("SOURCE_DATE_EPOCH") or time.time()) |
| 655 | d.setVar("SSTATE_CURRTASK", ss['task']) | 646 | d.setVar("SSTATE_CURRTASK", ss['task']) |
| @@ -664,8 +655,6 @@ def sstate_package(ss, d): | |||
| 664 | # to sstate tasks but there aren't many of these so better just avoid them entirely. | 655 | # to sstate tasks but there aren't many of these so better just avoid them entirely. |
| 665 | for walkroot, dirs, files in os.walk(state[1]): | 656 | for walkroot, dirs, files in os.walk(state[1]): |
| 666 | for file in files + dirs: | 657 | for file in files + dirs: |
| 667 | if fixtime: | ||
| 668 | fixtimestamp(walkroot, file) | ||
| 669 | srcpath = os.path.join(walkroot, file) | 658 | srcpath = os.path.join(walkroot, file) |
| 670 | if not os.path.islink(srcpath): | 659 | if not os.path.islink(srcpath): |
| 671 | continue | 660 | continue |
| @@ -687,11 +676,6 @@ def sstate_package(ss, d): | |||
| 687 | bb.utils.mkdirhier(plain) | 676 | bb.utils.mkdirhier(plain) |
| 688 | bb.utils.mkdirhier(pdir) | 677 | bb.utils.mkdirhier(pdir) |
| 689 | bb.utils.rename(plain, pdir) | 678 | bb.utils.rename(plain, pdir) |
| 690 | if fixtime: | ||
| 691 | fixtimestamp(pdir, "") | ||
| 692 | for walkroot, dirs, files in os.walk(pdir): | ||
| 693 | for file in files + dirs: | ||
| 694 | fixtimestamp(walkroot, file) | ||
| 695 | 679 | ||
| 696 | d.setVar('SSTATE_BUILDDIR', sstatebuild) | 680 | d.setVar('SSTATE_BUILDDIR', sstatebuild) |
| 697 | d.setVar('SSTATE_INSTDIR', sstatebuild) | 681 | d.setVar('SSTATE_INSTDIR', sstatebuild) |
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index f883497292..1f97606763 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py | |||
| @@ -564,6 +564,7 @@ def OEOuthashBasic(path, sigfile, task, d): | |||
| 564 | if task == "package": | 564 | if task == "package": |
| 565 | include_timestamps = True | 565 | include_timestamps = True |
| 566 | include_root = False | 566 | include_root = False |
| 567 | source_date_epoch = float(d.getVar("SOURCE_DATE_EPOCH")) | ||
| 567 | hash_version = d.getVar('HASHEQUIV_HASH_VERSION') | 568 | hash_version = d.getVar('HASHEQUIV_HASH_VERSION') |
| 568 | extra_sigdata = d.getVar("HASHEQUIV_EXTRA_SIGDATA") | 569 | extra_sigdata = d.getVar("HASHEQUIV_EXTRA_SIGDATA") |
| 569 | 570 | ||
| @@ -655,7 +656,11 @@ def OEOuthashBasic(path, sigfile, task, d): | |||
| 655 | raise Exception(msg).with_traceback(e.__traceback__) | 656 | raise Exception(msg).with_traceback(e.__traceback__) |
| 656 | 657 | ||
| 657 | if include_timestamps: | 658 | if include_timestamps: |
| 658 | update_hash(" %10d" % s.st_mtime) | 659 | # Need to clamp to SOURCE_DATE_EPOCH |
| 660 | if s.st_mtime > source_date_epoch: | ||
| 661 | update_hash(" %10d" % source_date_epoch) | ||
| 662 | else: | ||
| 663 | update_hash(" %10d" % s.st_mtime) | ||
| 659 | 664 | ||
| 660 | update_hash(" ") | 665 | update_hash(" ") |
| 661 | if stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode): | 666 | if stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode): |
