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

The build path is embedded in several files
/usr/lib/python3/dist-packages/omegaconf/grammar/gen/OmegaConfGrammar*.py:

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

  /usr/lib/python3/dist-packages/omegaconf/grammar/gen/OmegaConfGrammarLexer.py

  
#·Generated·from·/build/1st/python-omegaconf-2.2.2/omegaconf/grammar/OmegaConfGrammarLexer.g4·by·ANTLR·4.9.3
  vs.
  
#·Generated·from·/build/2/python-omegaconf-2.2.2/2nd/omegaconf/grammar/OmegaConfGrammarLexer.g4·by·ANTLR·4.9.3

The attached patch fixes this from the dh_auto_install override in
debian/rules by replacing the build path in these files with a
placeholder string.

With this patch applied python-omegaconf should build reproducibly on
tests.reproducible-builds.org!

Thanks for maintaining python-omegaconf!

live well,
  vagrant
From 6f5873415c94145a89c70978c26295fc96ac343f Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Sun, 25 Sep 2022 19:28:43 +0000
Subject: [PATCH] debian/rules: Replace build path in OmegaConfGrammer*.py with
 a placeholder string for reproducible builds.

https://reproducible-builds.org/docs/build-path/
---
 debian/rules | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/debian/rules b/debian/rules
index 42ab50c..0941c33 100755
--- a/debian/rules
+++ b/debian/rules
@@ -21,6 +21,12 @@ override_dh_auto_build:
 
 override_dh_auto_install:
 	pkgos-dh_auto_install --no-py2 --in-tmp
+	# Replace build path with a placeholder string for reproducible builds
+	sed -i -e "s,$(CURDIR),BUILDPATH,g" \
+		debian/tmp/usr/lib/python3/dist-packages/omegaconf/grammar/gen/OmegaConfGrammarParserVisitor.py \
+		debian/tmp/usr/lib/python3/dist-packages/omegaconf/grammar/gen/OmegaConfGrammarParserListener.py \
+		debian/tmp/usr/lib/python3/dist-packages/omegaconf/grammar/gen/OmegaConfGrammarParser.py \
+		debian/tmp/usr/lib/python3/dist-packages/omegaconf/grammar/gen/OmegaConfGrammarLexer.py \
 
 ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
 	for i in `py3versions -rv` ; do \
-- 
2.37.2

Attachment: signature.asc
Description: PGP signature

Reply via email to