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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to