summaryrefslogtreecommitdiffstats
path: root/meta/classes/base.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-07-21 10:39:26 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-07-23 13:55:26 +0100
commitb890bca84d75231ca4c2fe866ad6f5558d5e320a (patch)
treeff5c1f77dc0f7ea69e7cf0460b5d3397e9b4379f /meta/classes/base.bbclass
parente689476c4cae1759dade2d2ade4e9dc46efeb34d (diff)
downloadpoky-b890bca84d75231ca4c2fe866ad6f5558d5e320a.tar.gz
base/reproducible: Change Source Date Epoch generation methods
In bc, we found that there are files newer than Changelog (e.g. scan.l) which means after install runs, the timestamp is clamped to SDE which means "bitbake bc -C compile" would then try and regenerate generated files and complain flex was missing. Rather than assuming Changelog/NEWS are magic for dates, drop that scan method and scan all unpacked files. This shouldn't be that slow as they'd be in the disk cache already after an unpack. For bc, this changes SDE by about two minutes and avoids the problems rebuilding. Add a version comment to the task definition as changes in python library code won't trigger a rebuild and we need one here. (From OE-Core rev: 32dda0ad91a9e7946351c897578b4c97ae142341) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/base.bbclass')
-rw-r--r--meta/classes/base.bbclass1
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index cc02de5f77..571b6754f2 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -209,6 +209,7 @@ addtask do_deploy_source_date_epoch_setscene
209addtask do_deploy_source_date_epoch before do_configure after do_patch 209addtask do_deploy_source_date_epoch before do_configure after do_patch
210 210
211python create_source_date_epoch_stamp() { 211python create_source_date_epoch_stamp() {
212 # Version: 1
212 source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S')) 213 source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S'))
213 oe.reproducible.epochfile_write(source_date_epoch, d.getVar('SDE_FILE'), d) 214 oe.reproducible.epochfile_write(source_date_epoch, d.getVar('SDE_FILE'), d)
214} 215}