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

The build time is embedded in various binaries:

  
https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/device-tree-compiler.html

  /usr/bin/convert-dtsv0

  /build/1st/device-tree-compiler-1.6.1/srcpos.c:101
  vs.
  /build/2/device-tree-compiler-1.6.1/2nd/srcpos.c:101

The attached patch to debian/rules fixes this by passing the default
CFLAGS via EXTRA_CFLAGS, which includes the -ffile-prefix-map compiler
option.

According to my local tests, with this patch applied, device-tree-compiler 
should build
reproducibly on tests.reproducible-builds.org!

Thanks for maintaining device-tree-compiler!

live well,
  vagrant
From 77ddff89156eb55a550238a490e58023476c8efa Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Sun, 16 Oct 2022 18:02:45 +0000
Subject: [PATCH] debian/rules: Pass default CFLAGS via EXTRA_CFLAGS.

commit 13c4c940e65039052b5be499a848aaa9ffaffaa7 "Enable pylibfdt build
(Closes: #877125)" introduced a regression by removing the default CFLAGS.

This triggered reproducible builds issues with embedded build paths,
because -ffile-prefix-map was no longer getting passed to the
compiler.

The pylibfdt build system ignores CFLAGS, but respects EXTRA_CFLAGS,
so pass all CFLAGS via EXTRA_CFLAGS.
---
 debian/rules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/rules b/debian/rules
index b146728..5aae1d5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -15,7 +15,7 @@ export CC = $(DEB_HOST_GNU_TYPE)-gcc
 endif
 
 include /usr/share/dpkg/buildflags.mk
-EXTRA_CFLAGS = -Wno-error
+EXTRA_CFLAGS = $(CFLAGS) -Wno-error
 CPPFLAGS += -I libfdt -I .
 
 %:
-- 
2.37.2

Attachment: signature.asc
Description: PGP signature

Reply via email to