GNU bug report logs - #78700
[PATCH] gnu: tlp: Fix scripts.

Previous Next

Package: guix-patches;

Reported by: Morgan Smith <Morgan.J.Smith <at> outlook.com>

Date: Thu, 5 Jun 2025 15:49:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 78700 in the body.
You can then email your comments to 78700 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

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


Report forwarded to leo <at> famulari.name, guix-patches <at> gnu.org:
bug#78700; Package guix-patches. (Thu, 05 Jun 2025 15:49:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Morgan Smith <Morgan.J.Smith <at> outlook.com>:
New bug report received and forwarded. Copy sent to leo <at> famulari.name, guix-patches <at> gnu.org. (Thu, 05 Jun 2025 15:49:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Morgan Smith <Morgan.J.Smith <at> outlook.com>
To: guix-patches <at> gnu.org
Cc: Morgan Smith <Morgan.J.Smith <at> outlook.com>
Subject: [PATCH] gnu: tlp: Fix scripts.
Date: Thu,  5 Jun 2025 11:42:14 -0400
tlp provides a number of executables.  Before this change the "tlp" and "tlp-stat"
executables worked fine but the "bluetooth", "nfc", "run-on-ac", "run-on-bat",
"wifi", and "wwan" executables would give strange warnings.

* gnu/packages/linux.scm (tlp): Fix scripts.
<phases> [wrap]: Use wrap-script instead of wrap-program to preserve shell
argument "$0".  Don't wrap symlinks.
<inputs>: Add guile-3.0 for wrap-script.  Remove bash used for now removed
wrap-program.

Change-Id: I916a4385cb69db142f834839aa9aaf0d81085714
---
 gnu/packages/linux.scm | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index ccf0567827..504b09b0a7 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -145,6 +145,7 @@ (define-module (gnu packages linux)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages guile)
   #:use-module (gnu packages haskell-apps)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages image)
@@ -8512,11 +8513,11 @@ (define-public tlp
     (native-inputs
      (list shellcheck))
     (inputs
-     `(("bash" ,bash)
-       ("dbus" ,dbus)
+     `(("dbus" ,dbus)
        ("ethtool" ,ethtool)
        ("eudev" ,eudev)
        ("grep" ,grep)
+       ("guile" ,guile-3.0) ;for wrap-script
        ("hdparm" ,hdparm)
        ("inetutils" ,inetutils)
        ("iw" ,iw)
@@ -8574,15 +8575,20 @@ (define-public tlp
             (lambda* (#:key inputs outputs #:allow-other-keys)
               (let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
                      (sbin (string-append (assoc-ref outputs "out") "/sbin"))
-                     (bin-files (find-files bin ".*"))
-                     (sbin-files (find-files sbin ".*")))
+                     ;; Used to ignore symlinks which don't need wrapping
+                     (regular-file-predicate
+                      (lambda (file stat) (eq? 'regular (stat:type stat))))
+                     (bin-files (find-files bin regular-file-predicate))
+                     (sbin-files (find-files sbin regular-file-predicate)))
                 (define (bin-directory input-name)
                   (let ((p (assoc-ref inputs input-name)))
                     (and p (string-append p "/bin"))))
                 (define (sbin-directory input-name)
                   (string-append (assoc-ref inputs input-name) "/sbin"))
                 (for-each (lambda (program)
-                            (wrap-program program
+                            ;; Programs rely on $0 so we use wrap-script
+                            ;; instead of wrap-program
+                            (wrap-script program
                               `("PATH" ":" prefix
                                 ,(append
                                   (filter-map bin-directory

base-commit: 027a47787f8dcf6651a1c20c5b475376defe6d6b
-- 
2.49.0





Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Mon, 09 Jun 2025 20:08:30 GMT) Full text and rfc822 format available.

Notification sent to Morgan Smith <Morgan.J.Smith <at> outlook.com>:
bug acknowledged by developer. (Mon, 09 Jun 2025 20:08:30 GMT) Full text and rfc822 format available.

Message #10 received at 78700-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Morgan Smith <Morgan.J.Smith <at> outlook.com>
Cc: 78700-done <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: [bug#78700] [PATCH] gnu: tlp: Fix scripts.
Date: Mon, 09 Jun 2025 22:04:12 +0200
Morgan Smith <Morgan.J.Smith <at> outlook.com> writes:

> tlp provides a number of executables.  Before this change the "tlp" and "tlp-stat"
> executables worked fine but the "bluetooth", "nfc", "run-on-ac", "run-on-bat",
> "wifi", and "wwan" executables would give strange warnings.
>
> * gnu/packages/linux.scm (tlp): Fix scripts.
> <phases> [wrap]: Use wrap-script instead of wrap-program to preserve shell
> argument "$0".  Don't wrap symlinks.
> <inputs>: Add guile-3.0 for wrap-script.  Remove bash used for now removed
> wrap-program.
>
> Change-Id: I916a4385cb69db142f834839aa9aaf0d81085714

Applied, thanks!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 08 Jul 2025 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 11 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.