diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-07-21 10:39:26 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-08-04 16:29:15 +0100 |
commit | a78211a18231d1b02f70bde2fdad87156f69090f (patch) | |
tree | 41e571bc9ccce87915e151763fd572fd08d4728d /meta/lib | |
parent | ed19336407ebb4740e3fa975384c85c81d424872 (diff) | |
download | poky-a78211a18231d1b02f70bde2fdad87156f69090f.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: 400ed3bc77232b9d67594fa012b1278a6c8be3c6)
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>
(cherry picked from commit 32dda0ad91a9e7946351c897578b4c97ae142341)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oe/reproducible.py | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/meta/lib/oe/reproducible.py b/meta/lib/oe/reproducible.py index 35b8be6d08..2e815df190 100644 --- a/meta/lib/oe/reproducible.py +++ b/meta/lib/oe/reproducible.py | |||
@@ -152,7 +152,6 @@ def fixed_source_date_epoch(d): | |||
152 | def get_source_date_epoch(d, sourcedir): | 152 | def get_source_date_epoch(d, sourcedir): |
153 | return ( | 153 | return ( |
154 | get_source_date_epoch_from_git(d, sourcedir) or | 154 | get_source_date_epoch_from_git(d, sourcedir) or |
155 | get_source_date_epoch_from_known_files(d, sourcedir) or | ||
156 | get_source_date_epoch_from_youngest_file(d, sourcedir) or | 155 | get_source_date_epoch_from_youngest_file(d, sourcedir) or |
157 | fixed_source_date_epoch(d) # Last resort | 156 | fixed_source_date_epoch(d) # Last resort |
158 | ) | 157 | ) |