Reproducibly generate PDF documentation from TeX sources.

This commit is contained in:
Carlos Maddela
2017-08-15 03:25:37 +10:00
parent 06c675c1fd
commit 5d5e943c51
5 changed files with 20 additions and 25 deletions

1
debian/changelog vendored
View File

@@ -10,6 +10,7 @@ dvdisaster (0.79.5-4) UNRELEASED; urgency=medium
* Use alternative way of installing icons to remove dependency on * Use alternative way of installing icons to remove dependency on
dh-exec. dh-exec.
* Drop redundant dependency on dpkg-dev. * Drop redundant dependency on dpkg-dev.
* Reproducibly generate PDF documentation from TeX sources.
-- Carlos Maddela <e7appew@gmail.com> Mon, 14 Aug 2017 23:04:38 +1000 -- Carlos Maddela <e7appew@gmail.com> Mon, 14 Aug 2017 23:04:38 +1000

6
debian/control vendored
View File

@@ -12,9 +12,9 @@ Build-Depends: debhelper (>= 10),
libgtk2.0-dev, libgtk2.0-dev,
libpng-dev, libpng-dev,
pkg-config pkg-config
# Build-Depends-Indep: texlive-fonts-recommended, Build-Depends-Indep: texlive-fonts-recommended,
# texlive-latex-base, texlive-latex-base,
# texlive-latex-extra texlive-latex-extra
Standards-Version: 4.0.1 Standards-Version: 4.0.1
Vcs-Browser: https://anonscm.debian.org/git/pkg-opt-media/dvdisaster.git Vcs-Browser: https://anonscm.debian.org/git/pkg-opt-media/dvdisaster.git
Vcs-Git: https://anonscm.debian.org/git/pkg-opt-media/dvdisaster.git Vcs-Git: https://anonscm.debian.org/git/pkg-opt-media/dvdisaster.git

View File

@@ -1,26 +1,29 @@
From: Carlos Maddela <e7appew@gmail.com> From: Carlos Maddela <e7appew@gmail.com>
Date: Thu, 5 Jan 2017 19:14:35 +1100 Date: Thu, 5 Jan 2017 19:14:35 +1100
Subject: Generate the same PDF document IDs for build reproducibility. Subject: Apply pdftex workarounds for build reproducibility.
Description: Generate the same PDF IDs for build reproducibility. Description: Apply pdftex workarounds for build reproducibility.
* Generate the same PDF IDs.
* Suppress additional metadata for included images.
Author: Carlos Maddela <e7appew@gmail.com> Author: Carlos Maddela <e7appew@gmail.com>
Forwarded: not-needed Forwarded: not-needed
Last-Update: 2016-12-21 Last-Update: 2017-08-15
--- ---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- ---
documentation/user-manual/manual.tex | 1 + documentation/user-manual/manual.tex | 2 ++
1 file changed, 1 insertion(+) 1 file changed, 2 insertions(+)
diff --git a/documentation/user-manual/manual.tex b/documentation/user-manual/manual.tex diff --git a/documentation/user-manual/manual.tex b/documentation/user-manual/manual.tex
index 60fb51e..aaab4fa 100644 index 60fb51e..bf4364d 100644
--- a/documentation/user-manual/manual.tex --- a/documentation/user-manual/manual.tex
+++ b/documentation/user-manual/manual.tex +++ b/documentation/user-manual/manual.tex
@@ -65,6 +65,7 @@ @@ -65,6 +65,8 @@
\fancyfoot{} \fancyfoot{}
\fancyfoot[LE,RO]{page \thepage\ of \pageref{LastPage}} \fancyfoot[LE,RO]{page \thepage\ of \pageref{LastPage}}
+\pdftrailerid{dvdisaster} +\pdftrailerid{dvdisaster}
+\pdfsuppressptexinfo=-1
\begin{document} \begin{document}
\definecolor{lightorange}{RGB}{255,224,150} \definecolor{lightorange}{RGB}{255,224,150}

View File

@@ -19,7 +19,7 @@
25-fix-man-pages.patch 25-fix-man-pages.patch
26-fix-display-of-manual.pdf.patch 26-fix-display-of-manual.pdf.patch
27-allow-opening-in-browser-again.patch 27-allow-opening-in-browser-again.patch
28-fudge-pdf-doc-ids.patch 28-pdftex-reproducibility.patch
29-fix-more-typos.patch 29-fix-more-typos.patch
30-hurd-kfreebsd-ftbfs.patch 30-hurd-kfreebsd-ftbfs.patch
31-improve-hurd-and-kfreebsd-support.patch 31-improve-hurd-and-kfreebsd-support.patch

19
debian/rules vendored
View File

@@ -11,7 +11,8 @@ export DEB_VERSION
export FORCE_SOURCE_DATE = 1 export FORCE_SOURCE_DATE = 1
MUTABLE_FILES := build.h $(wildcard locale/*.po) \ MUTABLE_FILES := build.h $(wildcard locale/*.po) \
documentation/config/version.tex documentation/config/version.tex \
documentation/user-manual/manual.pdf
BUILDROOT := $(CURDIR)/debian/tmp BUILDROOT := $(CURDIR)/debian/tmp
ICONS := $(wildcard contrib/dvdisaster*.png) ICONS := $(wildcard contrib/dvdisaster*.png)
@@ -41,17 +42,8 @@ override_dh_clean:
override_dh_auto_build-arch: override_dh_auto_build-arch:
make all make all
# For the time being, we'll just package the upstream-generated
# manual.pdf, since we can't build the PDF reproducibly ourselves.
# The reason we can't is most probably due to the fact that the
# LaTeX document embeds other PDF documents and PNG images.
# Although we are able to reproduce the PDF's creation and mod
# dates, as well as its PDF IDs, the stream elements representing
# the embedded images are always what seem to differ each time we
# try to generate the PDF.
override_dh_auto_build-indep: override_dh_auto_build-indep:
# make manual make manual
true
override_dh_auto_install-arch: override_dh_auto_install-arch:
dh_auto_install -a -- BUILDROOT=$(BUILDROOT) dh_auto_install -a -- BUILDROOT=$(BUILDROOT)
@@ -66,9 +58,8 @@ override_dh_auto_install-indep:
true true
# Ensure that none of the text files that the application # Ensure that none of the text files that the application
# tries to display directly are not compressed, as it doesn't # tries to display directly are compressed, as it doesn't
# automatically decompress text files. # automatically decompress text files.
override_dh_compress: override_dh_compress-arch:
dh_compress -p dvdisaster \ dh_compress -p dvdisaster \
-XCHANGELOG -XCREDITS -XREADME.MODIFYING -XTODO -XCHANGELOG -XCREDITS -XREADME.MODIFYING -XTODO
dh_compress --remaining-packages