Source: node-postcss
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 of is embedded in a pkgjs-lock.json file:

  
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/node-postcss.html

  /usr/share/nodejs/nanoid/pkgjs-lock.json

  "/build/1st/node-postcss-8.4.5+~cs7.1.51":·{
  vs.
  "/build/2/node-postcss-8.4.5+~cs7.1.51/2nd":·{

The attached patch to debian/rules works around this by replacing the
build path with a package and version string in a dh_compress override.


The pkgjs-lock.json files appear to be generated from pkg-js-tools and
might be possible to fix there instead; I'm not sure why the other
pkgjs-lock.json files in node-postcss do not have embedded build paths.


With this patch applied, node-postcss should build reproducibly on
tests.reproducible-builds.org!


Thanks for maintaining node-postcss!


live well,
  vagrant
From d91ed1d45facb624d5ac53a9271d0873686ee8c5 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Sun, 16 Jan 2022 02:38:43 +0000
Subject: [PATCH] debian/rules: Remove the build path from pkgjs-lock.json
 file.

The full build path is most likely not present on the end-user's
system, so replace it with PACKAGE-VERSION.
---
 debian/rules | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/debian/rules b/debian/rules
index 31a1f14..2f6ba64 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,9 +1,16 @@
 #!/usr/bin/make -f
 # -*- makefile -*-
 
+include /usr/share/dpkg/pkg-info.mk
+
 %:
 	dh $@
 
 override_dh_fixperms:
 	dh_fixperms
 	chmod +x debian/node-postcss/usr/share/nodejs/nanoid/bin/nanoid.cjs
+
+override_dh_compress:
+	# Remove build path for reproducibility
+	sed -i -e "s,$(CURDIR),$(DEB_SOURCE)-$(DEB_VERSION_UPSTREAM),g" debian/node-postcss/usr/share/nodejs/nanoid/pkgjs-lock.json
+	dh_compress
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature

Reply via email to