Reproducible builds on linux (not reproducible on macos, unfinished on windows) #43

Open
SuzanneSoy wants to merge 19 commits from dev-reproducible-build into master

19 Commits

Author SHA1 Message Date
Georges Dupéron
6b0082dd68
Display warning: reproducible builds do not work on Windows or macos 2018-10-01 21:08:38 +02:00
Georges Dupéron
1b36f8e98b
Merge branch 'reproducible-build-windows' (unfinished) 2018-10-01 21:08:38 +02:00
Georges Dupéron
b8941befe8
Merge branch 'reproducible-build-macos' (does not work) 2018-10-01 21:08:37 +02:00
Georges Dupéron
76ef64b5be
Use faketime or datefudge if the former is not installed 2018-10-01 21:08:37 +02:00
Georges Dupéron
24fe32c3b5
Circumvent the fact that faketime does not work on system binaries in macos 2018-10-01 21:08:37 +02:00
Georges Dupéron
6f5522bdcb
Installed datefudge on Appveyor via Cygwin 2018-10-01 21:08:37 +02:00
Georges Dupéron
60a7f054b3
appveyor: clone_depth is unnecessary if shallow_clone is used 2018-10-01 21:08:37 +02:00
Georges Dupéron
fce3b9b6b3
Merge branch 'reproducible-build-linux' 2018-10-01 21:08:36 +02:00
Georges Dupéron
07e12d3062
cp -T option does not exist on on macos 2018-10-01 21:08:36 +02:00
Georges Dupéron
08901554b0
Screenshots directory is now an option, to avoid conflicts with the reproducible build's make clean 2018-10-01 21:08:36 +02:00
Georges Dupéron
2e9ce6fc26
macos: date conversion needs different flags than in Linux 2018-10-01 21:08:36 +02:00
Georges Dupéron
00bfba9251
macos: mkisofs includes the path to its input as extra unwanted directories in the iso 2018-10-01 21:08:36 +02:00
Georges Dupéron
634a4a0ff3
Omit the build directory path from os.offsets.hex
The build directory is not the same for the normal build and the build made to check for reproducibility.
2018-10-01 21:08:35 +02:00
Georges Dupéron
94deee14b0
Avoid copying iso_files as a subfolder of an existing iso_files.tmp if the latter was not cleaned correctly 2018-10-01 21:08:35 +02:00
Georges Dupéron
01ea5827b2
Added COMMIT_TIMESTAMP_ISO_8601 as a Makefile parameter 2018-10-01 21:08:35 +02:00
Georges Dupéron
7dcdca9649
Check that the build is reproducible 2018-10-01 21:08:35 +02:00
Georges Dupéron
01d3ae7544
Made the build directory configurable 2018-10-01 21:08:35 +02:00
Georges Dupéron
cd866fb6e7
Closes #42: Reproducible builds
232 initial number of different lines in the hexadecimal dump.
160 (recursive touch in iso_files)
108 (touch os.32k)
46  (faketime on mkisofs)
38  (faketime on mformat)
32  (faketime on mcopy)
0   (explicit partition and disk GUIDs)
2018-10-01 21:08:34 +02:00
Georges Dupéron
282f241459
Missing dependency in offsets calculation (could cause race condition when building with -j) 2018-10-01 21:08:30 +02:00