[Reproducible-builds] Bug#769844: linux: please make linux build reproducibly

Ben Hutchings ben at decadent.org.uk
Tue May 12 19:30:44 UTC 2015


On Thu, 2015-01-08 at 09:16 +0000, Ian Campbell wrote:
> On Wed, 2015-01-07 at 20:49 +0100, Jérémy Bobbio wrote:
> > > > +@@ -301,7 +301,9 @@ if [ ! -z ${output_file} ]; then
> > > > + 	if [ -z ${cpio_file} ]; then
> > > > + 		timestamp=
> > > > + 		if test -n "$KBUILD_BUILD_TIMESTAMP"; then
> > > > +-			timestamp="$(date -d"$KBUILD_BUILD_TIMESTAMP" +%s || :)"
> > > > ++			source_date=$(echo "$KBUILD_BUILD_TIMESTAMP" |
> > > > ++					sed -e 's/.*(\([0-9-]\+\)).*/\1/')
> > > > ++			timestamp="$(date -d"$source_date" +%s || :)"
> > > 
> > > This solution may not work.  The patched source can be built with a
> > > normal timestamp override, via linux-source.
> > 
> > The above construction will work given a standard date in
> > KBUILD_BUILD_TIMESTAMP. The sed expression only match parenthesises.
> > I am open to other suggestions.
> 
> How about changing debian/rules.real to set some other variable (e.g.
> DEB_BUILD_TIMESTAMP, or whatever) to our special version string and
> patching the relevant code (not here, but the scripts/mkcompile_h one)
> to prefer $DEB_BUILD_TIMESTAMP but still support $KBUILD_BUILD_TIMESTAMP
> as a fallback?
> 
> I think we would still need to set KBUILD_BUILD_TIMESTAMP to the
> debian/changelog date in rules.real.

I've implemented something pretty similar to that:

- $KBUILD_BUILD_TIMESTAMP is set to the date in the changelog
- $KBUILD_BUILD_VERSION_TIMESTAMP is set to what we want in
  utsname::version
- mkcompile_h prefers $KBUILD_BUILD_VERSION_TIMESTAMP over
  $KBUILD_BUILD_TIMESTAMP

Ben.

-- 
Ben Hutchings
For every action, there is an equal and opposite criticism. - Harrison
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 811 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20150512/74eb87e2/attachment.sig>


More information about the Reproducible-builds mailing list