From: Mark Hatle <[email protected]> Externalsrc removes do_fetch, do_unpack, and do_patch. The system normally discovers the correct reproducible date as a postfuncs on do_unpack, so this date is never found, so it goes back to the default epoch.
Instead we can move the discovery function to a prefuncs on the epoch deploy task. This task will run before do_configure, and since the source is already available can run anytime safely. Signed-off-by: Mark Hatle <[email protected]> Signed-off-by: Mark Hatle <[email protected]> --- meta/classes/reproducible_build.bbclass | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/meta/classes/reproducible_build.bbclass b/meta/classes/reproducible_build.bbclass index a9c117c3b9..ae0723ab21 100644 --- a/meta/classes/reproducible_build.bbclass +++ b/meta/classes/reproducible_build.bbclass @@ -128,7 +128,13 @@ BB_HASHBASE_WHITELIST += "SOURCE_DATE_EPOCH" python () { if d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1': # Generate the timestamp with create_source_date_epoch_stamp. - d.appendVarFlag("do_unpack", "postfuncs", " create_source_date_epoch_stamp") + # In most cases this will be a postfuncs of do_unpack. + # If we're running in external source, add create_source_date_epoch_stamp + # to do_deploy_source_date_epoch instead because there is no do_unpack. + if d.getVar('EXTERNALSRC') and bb.data.inherits_class('externalsrc', d): + d.appendVarFlag('do_deploy_source_date_epoch', 'prefuncs', ' create_source_date_epoch_stamp') + else: + d.appendVarFlag("do_unpack", "postfuncs", " create_source_date_epoch_stamp") d.appendVar('SSTATETASKS', " do_deploy_source_date_epoch") bb.build.addtask('do_deploy_source_date_epoch_setscene', None, None, d) bb.build.addtask('do_deploy_source_date_epoch', 'do_configure', 'do_patch', d) -- 2.17.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#155840): https://lists.openembedded.org/g/openembedded-core/message/155840 Mute This Topic: https://lists.openembedded.org/mt/85476714/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
