On Tue, 2020-05-12 at 09:27 -0500, Joshua Watt wrote: > On 5/12/20 9:22 AM, Richard Purdie wrote: > > On Tue, 2020-05-12 at 08:40 -0500, Joshua Watt wrote: > > > If reproducible binaries are requested, generate the kernel modules > > > tarball in a reproducible way. Namely, sort the tarball contents, clamp > > > the mtime to the source date epoch, compress the archive with a > > > consistent compression level (9), and don't include the name and > > > timestamp in the compressed file. > > > > > > [YOCTO #12719] > > > > > > Signed-off-by: Joshua Watt <jpewhac...@gmail.com> > > > --- > > > meta/classes/kernel.bbclass | 10 +++++++++- > > > 1 file changed, 9 insertions(+), 1 deletion(-) > > > > > > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > > > index a724645466..c124645643 100644 > > > --- a/meta/classes/kernel.bbclass > > > +++ b/meta/classes/kernel.bbclass > > > @@ -691,7 +691,15 @@ kernel_do_deploy() { > > > > > > if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e > > > '^CONFIG_MODULES=y$' .config); then > > > mkdir -p ${D}${root_prefix}/lib > > > - tar -cvzf $deployDir/modules-${MODULE_TARBALL_NAME}.tgz -C > > > ${D}${root_prefix} lib > > > + if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then > > > + TAR_ARGS="--sort=name --clamp-mtime > > > --mtime=@${SOURCE_DATE_EPOCH}" > > > + GZIP_ARGS="-9n" > > > + else > > > + TAR_ARGS="" > > > + GZIP_ARGS="" > > > + fi > > > + tar $TAR_ARGS -cv -C ${D}${root_prefix} lib | gzip $GZIP_ARGS > > > > $deployDir/modules-${MODULE_TARBALL_NAME}.tgz > > > + > > > ln -sf modules-${MODULE_TARBALL_NAME}.tgz > > > $deployDir/modules-${MODULE_TARBALL_LINK_NAME}.tgz > > > fi > > Do we need to make this conditional or could we just do it by default? > > I don't know if we can rely on SOURCE_DATE_EPOCH being set unless > reproducible_build.bbclass is inherited, but at a minimum we can always > use the gzip args.
Good point, I assumed we had a default for some reason. I think the patch will be more obvious if its conditional on SOURCE_DATE_EPOCH and we just use the other options unconditionally. I wonder if we should just move build_reproducibility_simple.bbclass into bitbake.conf? Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#138174): https://lists.openembedded.org/g/openembedded-core/message/138174 Mute This Topic: https://lists.openembedded.org/mt/74158357/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-