summaryrefslogtreecommitdiffstats
path: root/classes/consistent_timestamps.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* ostree support: use EPOCH+1s timestampsGatis Paeglis2016-08-251-2/+2
| | | | | | | | | | | | | | From OSTree's Release 2016.6 change log: "Use OSTREE_TIMESTAMP (=1) for checked-out files Is a quite interesting change - we previously used a timestamp of zero, but Nix has apparently done better with 1 for various reasons. This is a pretty subtle change, so be on the lookout for regressions." Change-Id: I8349fc52604603faef1c39bf88ba0e6591ae92a1 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* Update license headersSamuli Piippo2016-05-181-7/+15
| | | | | | | License changed to GPLv3 + Commercial Change-Id: I267c97216e717ed29071df064337e1bcf83de973 Reviewed-by: Kalle Viironen <kalle.viironen@theqtcompany.com>
* Use consistent mtime timestampsGatis Paeglis2016-03-161-0/+27
This patch adds consistent_timestamps.bbclass which is a hackish way of resembling reproducible build - byte-for-byte identical binary packages from a given source. Naturally this is not a complete solution, but it fixes the issue described below. Real solution for this should be done by the Yocto project itself. In OSTree each new update is checked out with all files and directories having mtime=0, this breaks fontconfig cache validity check (mtime embedded in the cache should match the containing directories mtime). Yocto generates this cache file in poky/meta/lib/oe/rootfs.py::create by calling self._run_intercepts() after all packages have been installed. These timestamps are nondeterministic as they depend on current system time. By using ROOTFS_POSTINSTALL_COMMAND hook we can ensure that these embedded time stamps have a known time, which is a basic property of reproducible build system. Change-Id: Ib2f130248f2e65db391d2b2f19ab5dac30a2cfb0 Task-number: QTEE-1081 Reviewed-by: Samuli Piippo <samuli.piippo@theqtcompany.com>