Source: chktex
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 .dvi files:

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

  /usr/share/doc/chktex/ChkTeX.dvi.gz

  ··TeX·output·2021.
vs.
  ··TeX·output·2022.
  
  ··08.23:1518
vs.
  ··09.26:2344..

The attached patch fixes this by setting FORCE_SOURCE_DATE=1 in
debian/rules, which texlive needs in order to respect SOURCE_DATE_EPOCH,
which is set during debian package builds to the timestamp in the latest
debian/changelog entry.

  https://reproducible-builds.org/docs/source-date-epoch/

It also removes what appears to be some code attempting to adjust the
timestamsp in the tex.in files, which was only partially effective, and
is no longer needed.

With this patch applied, chktex should build reproducibly on
tests.reproducible-builds.org

Thanks for maintaining chktex!

live well,
  vagrant
From 951e1cc037a1eb8623f8e6a45d8619881eae7fb3 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Sun, 3 Oct 2021 16:50:16 +0000
Subject: [PATCH] debian/rules: Export FORCE_SOURCE_DATE to ensure texlive
 respects SOURCE_DATE_EPOCH.

https://reproducible-builds.org/docs/source-date-epoch/

Remove tweaks to tex.in files, which seemed only partially effective.
---
 debian/rules | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/debian/rules b/debian/rules
index bbb3b9d..f193a6b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -17,7 +17,8 @@ TMPCFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
 CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
 LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
 
-DEBDATE:=\\\date{$(shell TZ=UTC LC_ALL=C date -d "$$(dpkg-parsechangelog -SDate)" +'%m\/%d\/%Y')}
+# Ensure texlive respects SOURCE_DATE_EPOCH
+export FORCE_SOURCE_DATE=1
 
 CFLAGS = -Wall -fstack-protector --param=ssp-buffer-size=4 -Wformat $(CPPFLAGS)
 INSTALL = install
@@ -51,14 +52,9 @@ build-stamp:  config.status
 
 	# Add here commands to compile the package.
 	# build source
-	cp -p ChkTeX.tex.in ChkTeX.tex.in.backup
-	echo $(DEBDATE)
-	echo $(LIBS)
-	sed -ri "s/.date..today./$(DEBDATE)/g" ChkTeX.tex.in
 	$(MAKE) CFLAGS="$(CFLAGS) $(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" LIBS="$(LIBS) -lpcreposix -lpcre -ltermcap" chktex ChkTeX.dvi
 	# build html documentation
 	$(MAKE) html
-	mv ChkTeX.tex.in.backup ChkTeX.tex.in
 
 	touch build-stamp
 
-- 
2.33.0

Attachment: signature.asc
Description: PGP signature

Reply via email to