deterministically build crypt.pdf
This entails: • Using pdflatex to influence the modification/creation timestamp in the resulting PDF • Replacing the unique ID with 0/0 • Using the timestamp from crypt.tex instead of the current date/time See also http://superuser.com/a/130804 This change is necessary because for Multi-Arch Debian packages, non-arch-dependent files need to have the same checksum, which is not guaranteed without this commit. See http://bugs.debian.org/734109
This commit is contained in:
parent
ed9940175d
commit
4ab63ccd3a
14
makefile
14
makefile
@ -373,14 +373,24 @@ doxy:
|
|||||||
#delete it if we are rebuilding it.
|
#delete it if we are rebuilding it.
|
||||||
docs: crypt.tex
|
docs: crypt.tex
|
||||||
rm -f doc/crypt.pdf $(LEFTOVERS)
|
rm -f doc/crypt.pdf $(LEFTOVERS)
|
||||||
|
cp crypt.tex crypt.bak
|
||||||
|
touch --reference=crypt.tex crypt.bak
|
||||||
|
(echo "\\def\\fixedpdfdate{"; date +'D:%Y%m%d%H%M%S%:z' -d @$$(stat --format=%Y crypt.tex) | sed "s/:\([0-9][0-9]\)$$/'\1'}/g") > crypt-deterministic.tex
|
||||||
|
echo "\\pdfinfo{" >> crypt-deterministic.tex
|
||||||
|
echo "/CreationDate (\fixedpdfdate)" >> crypt-deterministic.tex
|
||||||
|
echo "/ModDate (\fixedpdfdate) }" >> crypt-deterministic.tex
|
||||||
|
cat crypt.tex >> crypt-deterministic.tex
|
||||||
|
mv crypt-deterministic.tex crypt.tex
|
||||||
|
touch --reference=crypt.bak crypt.tex
|
||||||
echo "hello" > crypt.ind
|
echo "hello" > crypt.ind
|
||||||
latex crypt > /dev/null
|
latex crypt > /dev/null
|
||||||
latex crypt > /dev/null
|
latex crypt > /dev/null
|
||||||
makeindex crypt.idx > /dev/null
|
makeindex crypt.idx > /dev/null
|
||||||
perl fixupind.pl
|
perl fixupind.pl
|
||||||
latex crypt > /dev/null
|
pdflatex crypt
|
||||||
dvipdf crypt
|
sed -i 's,^/ID \[.*\]$$,/ID [<0> <0>],g' crypt.pdf
|
||||||
mv -ivf crypt.pdf doc/crypt.pdf
|
mv -ivf crypt.pdf doc/crypt.pdf
|
||||||
|
mv crypt.bak crypt.tex
|
||||||
rm -f $(LEFTOVERS)
|
rm -f $(LEFTOVERS)
|
||||||
|
|
||||||
docdvi: crypt.tex
|
docdvi: crypt.tex
|
||||||
|
Loading…
Reference in New Issue
Block a user