> -----Original Message----- > From: openembedded-core@lists.openembedded.org > <openembedded-core@lists.openembedded.org> On Behalf Of Richard Purdie > Sent: den 3 november 2022 13:41 > To: openembedded-core@lists.openembedded.org > Subject: [OE-core] [PATCH 1/2] gcc-shared-source: Fix source date epoch > handling > > The source date epoch for gcc isn't being transferred from the shared > workdir to the current WORKDIR for the specific recipe. This results in > the clamping code within sstate.bbclass using a value from 2011 which > changes the timestamps of many files. Since this happens part way > through the build, if pieces of gcc haven't built, or build/rebuild > later, we see things rebuilding when they should not and for generated > files, races are possible. > > Fix this by copying the SDE from the shared workdir into the recipe > workdir. > > [YOCTO #14953] > > Signed-off-by: Richard Purdie <richard.pur...@linuxfoundation.org> > --- > meta/recipes-devtools/gcc/gcc-shared-source.inc | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/meta/recipes-devtools/gcc/gcc-shared-source.inc > b/meta/recipes-devtools/gcc/gcc-shared-source.inc > index aac4b49313c..cdc27deffdb 100644 > --- a/meta/recipes-devtools/gcc/gcc-shared-source.inc > +++ b/meta/recipes-devtools/gcc/gcc-shared-source.inc > @@ -9,3 +9,12 @@ SRC_URI = "" > > do_configure[depends] += "gcc-source-${PV}:do_preconfigure" > do_populate_lic[depends] += "gcc-source-${PV}:do_unpack" > +do_deploy_source_date_epoch[depends] += > "gcc-source-${PV}:do_deploy_source_date_epoch" > + > +# Copy the SDE from the shared workdir to the recipe workdir > +do_deploy_source_date_epoch () { > + mkdir -p ${SDE_DEPLOYDIR} > + cp -p ${S}/../source-date-epoch/__source_date_epoch.txt > ${SDE_DEPLOYDIR}/__source_date_epoch.txt > + mkdir -p `dirname ${SDE_FILE}` > + cp -p ${S}/../source-date-epoch/__source_date_epoch.txt ${SDE_FILE}
Even though I doubt the name of the epoch file is likely to change any time soon, I think it is better to avoid hardcoding it here. Thus I suggest the following instead: sde_file=${SDE_FILE} sde_file=${sde_file#${WORKDIR}/} mkdir -p ${SDE_DEPLOYDIR} $(dirname ${SDE_FILE}) cp -p ${S}/../$sde_file ${SDE_DEPLOYDIR} cp -p ${S}/../$sde_file ${SDE_FILE} > +} > -- > 2.34.1 //Peter
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#172637): https://lists.openembedded.org/g/openembedded-core/message/172637 Mute This Topic: https://lists.openembedded.org/mt/94755299/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-