Differences between revisions 2 and 3
Revision 2 as of 2015-01-10 13:53:04
Size: 900
Editor: Lunar
Comment:
Revision 3 as of 2015-01-10 18:21:25
Size: 891
Editor: GuillemJover
Comment: Use dpkg-parsechangelog option instead of sed/grep+cut
Deletions are marked like this. Additions are marked like this.
Line 29: Line 29:
BUILD_DATE := $(shell dpkg-parsechangelog | sed -n -e 's/^Date: //p') BUILD_DATE := $(shell dpkg-parsechangelog --show-field=Date)

Tarballs contain mtimes. They will not be reproducible if files have been generated during build time.

Known affected packages

Detection

Example debbindiff output

Work-around

Known yet.

Solutions

--mtime

If indivdiual mtimes don't matter, then use the --mtime option:

     --mtime=DATE-OR-FILE
           set mtime for added files from DATE-OR-FILE

Adjusting mtimes

Use find, xargs, and touch to adjust file mtimes before tar is run. Example:

BUILD_DATE := $(shell dpkg-parsechangelog --show-field=Date)
[…]
       find '$(DIR)' -depth -newermt '$(BUILD_DATE)' -print0 | \
               xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
       […] tar […]