Source: bwbasic
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 /usr/bin/bwbasic:

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

  /build/1st/bwbasic-2.20pl2/bwbasic.c:118
  vs.
  /build/2/bwbasic-2.20pl2/2nd/bwbasic.c:118

The attached patches fix this by adjusting the upstream Makefile to use
the default CFLAGS (by appending the arguments), and disables format
string hardening which causes build failures (and was previously
ignored, as CFLAGS was not used).

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

Thanks for maintaining bwbasic!

live well,
  vagrant
From 3ef0221a1b4ecc8842c613e406b9f4af6926d9c0 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Mon, 2 May 2022 15:48:14 +0000
Subject: [PATCH 1/4] Makefile.in: Use CFLAGS from the environment and pass
 CFLAGS to CC calls.

---
 Makefile.in | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 9d12d0b..fea9b5f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -14,7 +14,7 @@ DEFS = @DEFS@
 
 # Revised by JBV
 #CFLAGS = -O
-CFLAGS = -g -ansi
+CFLAGS += -g -ansi
 
 # Revised by JBV
 #LDFLAGS = -s
@@ -58,11 +58,11 @@ DISTFILES=	$(CFILES) $(HFILES) $(MISCFILES)
 all: bwbasic bwbasic.1 renum
 
 bwbasic:	$(OFILES)
-		$(CC) $(OFILES) -lm -o $@ $(LDFLAGS)
+		$(CC) $(CFLAGS) $(OFILES) -lm -o $@ $(LDFLAGS)
 
 # Added by JBV
 renum:
-	$(CC) renum.c -g -o renum
+	$(CC) $(CFLAGS) renum.c -g -o renum
 
 # Added by Vince Mulhollon
 bwbasic.1: bwbasic.doc
-- 
2.37.2

From 2ec1c3e99f1b03ec7aea4c74e193d307aa9c6ad5 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Mon, 2 May 2022 15:49:29 +0000
Subject: [PATCH 2/4] debian/rules: Disable format hardening.

This was effectively ignored before and causes build failures.
---
 debian/rules | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/debian/rules b/debian/rules
index 2f89281..bccd746 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,4 +1,6 @@
 #!/usr/bin/make -f
 
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all,-format
+
 %:
 	dh $@ --without autoreconf
-- 
2.37.2

Attachment: signature.asc
Description: PGP signature

Reply via email to