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 93df5fa9e6..567797305f 100644 --- a/meta/classes-global/sstate.bbclass +++ b/meta/classes-global/sstate.bbclass | |||
| @@ -648,15 +648,6 @@ def sstate_package(ss, d): | |||
| 648 | 648 | ||
| 649 | tmpdir = d.getVar('TMPDIR') | 649 | tmpdir = d.getVar('TMPDIR') |
| 650 | 650 | ||
| 651 | fixtime = False | ||
| 652 | if ss['task'] == "package": | ||
| 653 | fixtime = True | ||
| 654 | |||
| 655 | def fixtimestamp(root, path): | ||
| 656 | f = os.path.join(root, path) | ||
| 657 | if os.lstat(f).st_mtime > sde: | ||
| 658 | os.utime(f, (sde, sde), follow_symlinks=False) | ||
| 659 | |||
| 660 | sstatebuild = d.expand("${WORKDIR}/sstate-build-%s/" % ss['task']) | 651 | sstatebuild = d.expand("${WORKDIR}/sstate-build-%s/" % ss['task']) |
| 661 | sde = int(d.getVar("SOURCE_DATE_EPOCH") or time.time()) | 652 | sde = int(d.getVar("SOURCE_DATE_EPOCH") or time.time()) |
| 662 | d.setVar("SSTATE_CURRTASK", ss['task']) | 653 | d.setVar("SSTATE_CURRTASK", ss['task']) |
| @@ -671,8 +662,6 @@ def sstate_package(ss, d): | |||
| 671 | # to sstate tasks but there aren't many of these so better just avoid them entirely. | 662 | # to sstate tasks but there aren't many of these so better just avoid them entirely. |
| 672 | for walkroot, dirs, files in os.walk(state[1]): | 663 | for walkroot, dirs, files in os.walk(state[1]): |
| 673 | for file in files + dirs: | 664 | for file in files + dirs: |
| 674 | if fixtime: | ||
| 675 | fixtimestamp(walkroot, file) | ||
| 676 | srcpath = os.path.join(walkroot, file) | 665 | srcpath = os.path.join(walkroot, file) |
| 677 | if not os.path.islink(srcpath): | 666 | if not os.path.islink(srcpath): |
| 678 | continue | 667 | continue |
| @@ -694,11 +683,6 @@ def sstate_package(ss, d): | |||
| 694 | bb.utils.mkdirhier(plain) | 683 | bb.utils.mkdirhier(plain) |
| 695 | bb.utils.mkdirhier(pdir) | 684 | bb.utils.mkdirhier(pdir) |
| 696 | bb.utils.rename(plain, pdir) | 685 | bb.utils.rename(plain, pdir) |
| 697 | if fixtime: | ||
| 698 | fixtimestamp(pdir, "") | ||
| 699 | for walkroot, dirs, files in os.walk(pdir): | ||
| 700 | for file in files + dirs: | ||
| 701 | fixtimestamp(walkroot, file) | ||
| 702 | 686 | ||
| 703 | d.setVar('SSTATE_BUILDDIR', sstatebuild) | 687 | d.setVar('SSTATE_BUILDDIR', sstatebuild) |
| 704 | d.setVar('SSTATE_INSTDIR', sstatebuild) | 688 | d.setVar('SSTATE_INSTDIR', sstatebuild) |
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index a46e5502ab..d818fce8f1 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py | |||
| @@ -524,6 +524,7 @@ def OEOuthashBasic(path, sigfile, task, d): | |||
| 524 | if task == "package": | 524 | if task == "package": |
| 525 | include_timestamps = True | 525 | include_timestamps = True |
| 526 | include_root = False | 526 | include_root = False |
| 527 | source_date_epoch = float(d.getVar("SOURCE_DATE_EPOCH")) | ||
| 527 | hash_version = d.getVar('HASHEQUIV_HASH_VERSION') | 528 | hash_version = d.getVar('HASHEQUIV_HASH_VERSION') |
| 528 | extra_sigdata = d.getVar("HASHEQUIV_EXTRA_SIGDATA") | 529 | extra_sigdata = d.getVar("HASHEQUIV_EXTRA_SIGDATA") |
| 529 | 530 | ||
| @@ -615,7 +616,11 @@ def OEOuthashBasic(path, sigfile, task, d): | |||
| 615 | raise Exception(msg).with_traceback(e.__traceback__) | 616 | raise Exception(msg).with_traceback(e.__traceback__) |
| 616 | 617 | ||
| 617 | if include_timestamps: | 618 | if include_timestamps: |
| 618 | update_hash(" %10d" % s.st_mtime) | 619 | # Need to clamp to SOURCE_DATE_EPOCH |
| 620 | if s.st_mtime > source_date_epoch: | ||
| 621 | update_hash(" %10d" % source_date_epoch) | ||
| 622 | else: | ||
| 623 | update_hash(" %10d" % s.st_mtime) | ||
| 619 | 624 | ||
| 620 | update_hash(" ") | 625 | update_hash(" ") |
| 621 | if stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode): | 626 | if stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode): |
