Message ID | 20230629140258.5635-1-Robert.Berger@ReliableEmbeddedSystems.com |
---|---|
State | New |
Headers | show |
Series | [meta-oe] uninative-tarball.xz - reproducibility fix | expand |
On Thu, 2023-06-29 at 16:02 +0200, Robert Berger wrote: > added --clamp-mtime --mtime to the tar command > > see: > https://bugzilla.yoctoproject.org/show_bug.cgi?id=15148 > > Signed-off-by: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com> > --- > meta/classes-recipe/populate_sdk_base.bbclass | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/meta/classes-recipe/populate_sdk_base.bbclass b/meta/classes-recipe/populate_sdk_base.bbclass > index b23ea26d40..c804e7520a 100644 > --- a/meta/classes-recipe/populate_sdk_base.bbclass > +++ b/meta/classes-recipe/populate_sdk_base.bbclass > @@ -86,7 +86,7 @@ python () { > d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDK_ZIP_OPTIONS} ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .') > else: > d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native') > - d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') > + d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} ${SDKTAROPTS_ADDON} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') > } > > SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" > @@ -286,6 +286,7 @@ python check_sdk_sysroots() { > } > > SDKTAROPTS = "--owner=root --group=root" > +SDKTAROPTS_ADDON ?= "--clamp-mtime --mtime=@${SOURCE_DATE_EPOCH}" > Thanks, looks good. I did wonder if we could just put this in SDKTAROPTS though? Do we really need to add a new variable? Cheers, Richard
Hi, Not sure my previous reply made it to the list. So I try it again here. On 29/06/2023 16:07, Richard Purdie wrote: > On Thu, 2023-06-29 at 16:02 +0200, Robert Berger wrote: >> added --clamp-mtime --mtime to the tar command >> >> see: >> https://bugzilla.yoctoproject.org/show_bug.cgi?id=15148 >> >> Signed-off-by: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com> >> --- >> meta/classes-recipe/populate_sdk_base.bbclass | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/meta/classes-recipe/populate_sdk_base.bbclass b/meta/classes-recipe/populate_sdk_base.bbclass >> index b23ea26d40..c804e7520a 100644 >> --- a/meta/classes-recipe/populate_sdk_base.bbclass >> +++ b/meta/classes-recipe/populate_sdk_base.bbclass >> @@ -86,7 +86,7 @@ python () { >> d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDK_ZIP_OPTIONS} ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .') >> else: >> d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native') >> - d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') >> + d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} ${SDKTAROPTS_ADDON} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') >> } >> >> SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" >> @@ -286,6 +286,7 @@ python check_sdk_sysroots() { >> } >> >> SDKTAROPTS = "--owner=root --group=root" >> +SDKTAROPTS_ADDON ?= "--clamp-mtime --mtime=@${SOURCE_DATE_EPOCH}" >> > > Thanks, looks good. I did wonder if we could just put this in > SDKTAROPTS though? Do we really need to add a new variable? Functionality-wise it's fine to add it to SDKTAROPTS. The default value I added would give people the chance to experiment with different options as well. If you want me to "hard code" it I'll create a v2. Just let me know. > > Cheers, > > Richard > Regards, Robert
On Fri, 2023-06-30 at 09:03 +0200, Robert Berger wrote: > Hi, > > My comments are inline > > On 29/06/2023 16:07, Richard Purdie wrote: > > > +SDKTAROPTS_ADDON ?= "--clamp-mtime --mtime=@${SOURCE_DATE_EPOCH}" > > > > > > > Thanks, looks good. I did wonder if we could just put this in > > SDKTAROPTS though? Do we really need to add a new variable? > > > > Functionality-wise it's fine to add it to SDKTAROPTS. The default value > I added would give people the chance to experiment with different > options as well. > > If you want me to "hard code" it I'll create a v2. > > Just let me know. Lets just add to the existing variable, I don't think we need another one for this. Cheers, Richard
diff --git a/meta/classes-recipe/populate_sdk_base.bbclass b/meta/classes-recipe/populate_sdk_base.bbclass index b23ea26d40..c804e7520a 100644 --- a/meta/classes-recipe/populate_sdk_base.bbclass +++ b/meta/classes-recipe/populate_sdk_base.bbclass @@ -86,7 +86,7 @@ python () { d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDK_ZIP_OPTIONS} ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .') else: d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native') - d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') + d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} ${SDKTAROPTS_ADDON} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') } SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" @@ -286,6 +286,7 @@ python check_sdk_sysroots() { } SDKTAROPTS = "--owner=root --group=root" +SDKTAROPTS_ADDON ?= "--clamp-mtime --mtime=@${SOURCE_DATE_EPOCH}" fakeroot archive_sdk() { # Package it up
added --clamp-mtime --mtime to the tar command see: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15148 Signed-off-by: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com> --- meta/classes-recipe/populate_sdk_base.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)