Source: auctex
Severity: normal
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

The build timestamp is embedded in various .el files:

  
https://tests.reproducible-builds.org/debian/rb-pkg/bullseye/amd64/diffoscope-results/auctex.html

  ./usr/share/emacs/site-lisp/tex-site.el

  ;;;###·(autoloads·nil·"tex"·"tex.el"·(25292·55595·0·0))
  vs.
  ;;;###·(autoloads·nil·"tex"·"tex.el"·(24767·51934·0·0))

  ./usr/share/emacs/site-lisp/preview-latex.el

  ;;;###·(autoloads·nil·"preview"·"preview.el"·(25292·55677·147326
  vs.
  ;;;###·(autoloads·nil·"preview"·"preview.el"·(24767·52242·102378

The tex-site.el is is patched from debian/patches, so the timestamp
varies at the time of build and preview-latex.el is generated during the
build, so the timestamp varies.

The attached patches fix this by setting the timestamp on tex.el from
debian/rules using debian/changelog as a reference timestamp, and
patching Makefile.in to do the same for preview-latex.el.

Applying these patches should make auctex reproducible in the current
tests.reproducible-builds.org infrastructure.


Thanks for maintaining auctex!


live well,
  vagrant
From dcb820e3f7e09a844df70b0068f59a4831248408 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Fri, 25 Jun 2021 03:36:17 +0000
Subject: [PATCH 1/2] debian/rules: Set the timestamp on the patched tex.el
 file to avoid embedding timestamps in the shipped .el file.

https://tests.reproducible-builds.org/debian/issues/timestamps_in_emacs_autoloads_issue.html
https://bugs.debian.org/824050
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22213
---
 debian/rules | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/debian/rules b/debian/rules
index fc8813f0..44ee25e3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -50,6 +50,10 @@ ELCC := $(shell pwd)/debian/elcc
 override_dh_auto_build: debian/clean
 	chmod -R a+rX debian/
 	chmod a+x debian/elcc
+	# Set the date on files that are patched to avoid inconsistent
+	# embedded timestamps:
+	# https://tests.reproducible-builds.org/debian/issues/timestamps_in_emacs_autoloads_issue.html
+	touch --reference debian/changelog tex.el
 	$(MAKE) ELCC=$(ELCC)
 	rm --force auto-loads.el
 	$(MAKE) auto-loads.el
-- 
2.32.0

From 16c7380b96b37841a0c6533c428310ef278f12c6 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Fri, 25 Jun 2021 03:40:45 +0000
Subject: [PATCH 2/2] debian/patches: Set the timestamp on the generated
 preview-latex.el file to avoid embedding timestamps in the shipped .el file.

https://tests.reproducible-builds.org/debian/issues/timestamps_in_emacs_autoloads_issue.html
https://bugs.debian.org/824050
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22213
---
 ...p-on-the-generated-preview-latex.el-.patch | 28 +++++++++++++++++++
 debian/patches/series                         |  1 +
 2 files changed, 29 insertions(+)
 create mode 100644 debian/patches/0007-Set-the-timestamp-on-the-generated-preview-latex.el-.patch

diff --git a/debian/patches/0007-Set-the-timestamp-on-the-generated-preview-latex.el-.patch b/debian/patches/0007-Set-the-timestamp-on-the-generated-preview-latex.el-.patch
new file mode 100644
index 00000000..a4349b5d
--- /dev/null
+++ b/debian/patches/0007-Set-the-timestamp-on-the-generated-preview-latex.el-.patch
@@ -0,0 +1,28 @@
+From e3c2aede384f443397c02c183691697c73d502d7 Mon Sep 17 00:00:00 2001
+From: Vagrant Cascadian <vagr...@reproducible-builds.org>
+Date: Fri, 25 Jun 2021 03:38:05 +0000
+Subject: [PATCH] Set the timestamp on the generated preview-latex.el file to
+ avoid embedding timestamps in the shipped .el file.
+
+https://tests.reproducible-builds.org/debian/issues/timestamps_in_emacs_autoloads_issue.html
+https://bugs.debian.org/824050
+https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22213
+---
+ Makefile.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.in b/Makefile.in
+index 95bc0eb5..24177bea 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -222,6 +222,7 @@ lisp:	tex-site.el $(AUCSRC) $(STYLESRC) $(PREVIEWSRC)
+ 
+ preview-latex.el: preview.el
+ 	rm -f preview-latex.el
++	touch --reference debian/copyright preview-latex.el ; \
+ 	-$(EMACS) -batch -no-site-file -no-init-file $(PREVIEW_AUTOLOAD) ; \
+ 	test -r $@ || { \
+ 	  echo ";; Auto-generated preview-latex.el" > $@ ; \
+-- 
+2.32.0
+
diff --git a/debian/patches/series b/debian/patches/series
index 5c13931a..bc0123a8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@
 0004-TeX-view-program-selection-Customize-for-Debian.patch
 0005-TeX-auto-global-Customize-for-Debian.patch
 0006-preview-image-type-Customize-for-Debian.patch
+0007-Set-the-timestamp-on-the-generated-preview-latex.el-.patch
-- 
2.32.0

Attachment: signature.asc
Description: PGP signature

Reply via email to