Bug 13509

Summary: reproducible QA: Fake time in the future for better reproducibility
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Joshua Watt <JPEWhacker>
Component: coreAssignee: Unassigned <unassigned>
Status: RESOLVED FIXED QA Contact: Mathieu Dubois-Briand <mathieu.dubois-briand>
Severity: enhancement    
Priority: Medium CC: mathieu.dubois-briand, meta.mr.watcher, meta.watcher, randy.macleod, sangeeta.jain
Version: unspecified   
Target Milestone: 6.99   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Joshua Watt 2019-09-10 21:04:50 UTC
The QA check should use 'faketime' or equivalent to fake the time in the future when building the second test build. This is in line with the debian reproducible build tests, and ensures recipes are not including timestamps. An ideal time to move the clock forward by might be 34308122 seconds. This is 397 days, 2 hours, 2 minutes, and 2 seconds in the future. This value has a few useful properties:
* It is always at least one year ahead of the real time
* It is always a different month than the real time
* It is always a different day of the week than the real time
* It is always a different day of the month
* It is always a different hour of the day
* It is always a different minute
* It is always a different second

The reason for always adding 2 instead of one is to account for any ambiguity related to leap year, leap seconds, DST, and leap minutes if they every become a thing.
Comment 1 Randy MacLeod 2023-10-30 15:37:29 UTC
Build move to 5.0 -- ../Randy
Comment 2 Randy MacLeod 2024-04-25 01:13:54 UTC
Bulk move of 5.0 medium importance issues to 5.99.
Move to 5.1 if you want to actively work on an issue.
Comment 3 Randy MacLeod 2024-04-25 01:23:09 UTC
Move to 5.99 since no one is actively working on this issue.
Move to 5.x if you start on a task, please.
Comment 4 Mathieu Dubois-Briand 2026-10-21 07:30:59 UTC
Implemented and merged: https://git.openembedded.org/openembedded-core/commit/?id=537ee506b3cfd6ecc53315759763bd25ab38f63a