Debian Bug report logs - #1003430
gkrellm-leds: reproducible-builds: /bin/sh dependent behavior in Makefile

Package: src:gkrellm-leds; Maintainer for src:gkrellm-leds is Christoph Biedl <debian.axhn@manchmal.in-ulm.de>;

Reported by: Vagrant Cascadian <vagrant@reproducible-builds.org>

Date: Mon, 10 Jan 2022 04:15:01 UTC

Severity: normal

Tags: patch, pending

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, reproducible-bugs@lists.alioth.debian.org, Christoph Biedl <debian.axhn@manchmal.in-ulm.de>:
Bug#1003430; Package src:gkrellm-leds. (Mon, 10 Jan 2022 04:15:03 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@reproducible-builds.org>:
New Bug report received and forwarded. Copy sent to reproducible-bugs@lists.alioth.debian.org, Christoph Biedl <debian.axhn@manchmal.in-ulm.de>. (Mon, 10 Jan 2022 04:15:03 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@reproducible-builds.org>
To: submit@bugs.debian.org
Subject: gkrellm-leds: reproducible-builds: /bin/sh dependent behavior in Makefile
Date: Sun, 09 Jan 2022 20:10:55 -0800
[Message part 1 (text/plain, inline)]
Source: gkrellm-leds
Severity: normal
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: shell
X-Debbugs-Cc: reproducible-bugs@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
[0001-Makefile-Disable-broken-UID-check.patch (text/x-diff, inline)]
From 6c248d3351d4b2707b3022a4af3010910a77fb50 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@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

[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#1003430; Package src:gkrellm-leds. (Fri, 14 Jan 2022 19:45:02 GMT) (full text, mbox, link).


Acknowledgement sent to Christoph Biedl <debian.axhn@manchmal.in-ulm.de>:
Extra info received and forwarded to list. (Fri, 14 Jan 2022 19:45:02 GMT) (full text, mbox, link).


Message #10 received at 1003430@bugs.debian.org (full text, mbox, reply):

From: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
To: Vagrant Cascadian <vagrant@reproducible-builds.org>, 1003430@bugs.debian.org
Subject: Re: Bug#1003430: gkrellm-leds: reproducible-builds: /bin/sh dependent behavior in Makefile
Date: Fri, 14 Jan 2022 20:42:03 +0100
[Message part 1 (text/plain, inline)]
Control: tags 1003430 pending

Vagrant Cascadian wrote...

> 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

Ups. Thanks for spotting this. Will be fixed in the next upload which
might take some time. Ping me if you want that story resolved faster.

    Christoph
[signature.asc (application/pgp-signature, inline)]

Added tag(s) pending. Request was from Christoph Biedl <debian.axhn@manchmal.in-ulm.de> to 1003430-submit@bugs.debian.org. (Fri, 14 Jan 2022 19:45:02 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed May 17 11:03:04 2023; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.