Source: gkrellm-leds
Severity: normal
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: shell
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

The path that gkrellm-leds installs plugins into differs depending on
weather /bin/sh points to bash or dash:

  
https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/gkrellm-leds.html

In the md5sums file you have two different files included in the package:

  usr/lib/gkrellm2/plugins/gkleds.so
vs.
  
build/gkrellm-leds-0.8.0/debian/.debhelper/generated/_source/home/.gkrellm2/plugins/gkleds.so


The attached patch fixes this by removing the UID check in the Makefile,
which only behaves "correctly" when run under bash (when run under dash
$UID is unset).

Since the .deb package should always install into
/usr/lib/gkrellm2/plugins, regardless of the running UID, removing the
check seems appropriate, especially as "Rules-Requires-Root: no" is set
in debian/control.


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


Thanks for maintaining gkrellm-leds!


live well,
  vagrant
From 6c248d3351d4b2707b3022a4af3010910a77fb50 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Mon, 10 Jan 2022 03:44:11 +0000
Subject: [PATCH] Makefile: Disable broken UID check.

The UID check works when /bin/sh is bash, but not when /bin/sh is
dash.

This results in broken builds when /bin/sh is bash and built as
non-root, as gkleds.so and other files are installed to
BUILDPATH/debian/.debhelper/generated/_source/home/.gkrellm2/plugins/
instead of /usr/lib/gkrellm2/plugins/.

Ensure the package consistently installs into
/usr/lib/gkrellm2/plugins regardless of the operating UID or which
shell is configured as /bin/sh.
---
 Makefile | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index f988986..fd09b5e 100644
--- a/Makefile
+++ b/Makefile
@@ -46,9 +46,7 @@ clean:
 	rm -rf src/*~ src/\#*
 
 install : gkleds.so
-	@ if [ "$$UID" -ne 0 ]; \
-		then PLUGIN_DIR=$$HOME/.gkrellm2/plugins; \
-	elif [ -e /usr/bin/gkrellm ]; \
+	@ if [ -e /usr/bin/gkrellm ]; \
 		then PLUGIN_DIR=/usr/lib/gkrellm2/plugins; \
 	else \
 		PLUGIN_DIR=/usr/local/lib/gkrellm2/plugins; \
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature

Reply via email to