Commit da2fc240efda4f416a5dfd86acf2afc28ba80e3b

Steffen Jaeckel 2014-09-28T14:45:25

deterministic build of poster.pdf

diff --git a/makefile b/makefile
index f7a7c82..537dd05 100644
--- a/makefile
+++ b/makefile
@@ -152,8 +152,19 @@ docdvi: tommath.src
 
 # poster, makes the single page PDF poster
 poster: poster.tex
+	cp poster.tex poster.bak
+	touch --reference=poster.tex poster.bak
+	(printf "%s" "\def\fixedpdfdate{"; date +'D:%Y%m%d%H%M%S%:z' -d @$$(stat --format=%Y poster.tex) | sed "s/:\([0-9][0-9]\)$$/'\1'}/g") > poster-deterministic.tex
+	printf "%s\n" "\pdfinfo{" >> poster-deterministic.tex
+	printf "%s\n" "  /CreationDate (\fixedpdfdate)" >> poster-deterministic.tex
+	printf "%s\n}\n" "  /ModDate (\fixedpdfdate)" >> poster-deterministic.tex
+	cat poster.tex >> poster-deterministic.tex
+	mv poster-deterministic.tex poster.tex
+	touch --reference=poster.bak poster.tex
 	pdflatex poster
-	rm -f poster.aux poster.log
+	sed -b -i 's,^/ID \[.*\]$$,/ID [<0> <0>],g' poster.pdf
+	mv poster.bak poster.tex
+	rm -f poster.aux poster.log poster.out
 
 # makes the LTM book PDF file, requires tetex, cleans up the LaTeX temp files
 docs:   docdvi