GNU bug report logs - #77752
[PATCH] gnu: fwupd: Add elogind input

Previous Next

Package: guix-patches;

Reported by: Rutherther <rutherther <at> ditigal.xyz>

Date: Fri, 11 Apr 2025 17:52:01 UTC

Severity: normal

Tags: patch

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

Bug is archived. No further changes may be made.

Full log


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

From: Rutherther <rutherther <at> ditigal.xyz>
To: 77752 <at> debbugs.gnu.org
Cc: Rutherther <rutherther <at> ditigal.xyz>
Subject: [PATCH v2 2/2] gnu: fwupd: Check polkit actions at correct location
Date: Fri, 11 Apr 2025 21:54:01 +0200
The polkit rules check in fwupdmgr doesn't make sense with Guix packaging, as
it's checking if there is fwupd policy files in the polkit's store path.
This will never be true, and the check will always fail.

One fix would be to skip the check completely. But that seems unnecessary as
the polkit actions are always in /etc/polkit-1/actions on the Guix system.
On foreign distros, it will be necessary to turn the check off manually by
FWUPD_POLKIT_NOCHECK=1. But it's important to note that this was the case even
till now, there is no new breakage. I think it's unlikely someone will be
using fwupd package from Guix on foreign distros anyway.

* gnu/packages/firmware.scm (fwupd)[arguments]{phases}: substitute polkit
actions directory to point to /etc/polkit-1/actions

Change-Id: Ia29d7a32f68a3da7951f45fe823e3ab8059cb670
---
 gnu/packages/firmware.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 5e89edc621..715b9ab132 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -250,7 +250,19 @@ (define-public fwupd
                         (find-files "."))
               (substitute* "src/fu-self-test.c"
                 (("/bin/sh")
-                 (which "sh")))))
+                 (which "sh")))
+              ;; fwupdmgr checks for missing polkit actions, prints
+              ;; error message and exits if the polkit actions are
+              ;; not found.
+              ;; The path points to gnu store path of polkit and
+              ;; there are no actions there. Point this to the actual
+              ;; location used on Guix System. This will still fail on
+              ;; foreign distros as /usr/share/polkit-1 is used mostly.
+              (substitute* "src/fu-util.c"
+                (("g_autofree gchar \\*directory = NULL;")
+                 "")
+                (("directory = fu_path_from_kind\\(FU_PATH_KIND_POLKIT_ACTIONS\\)")
+                 "const gchar* directory = \"/etc/polkit-1/actions\""))))
           ;; These two files are zipped by Python, so need a newer timestamp.
           (add-after 'unpack 'newer-timestamps-for-python-zip
             (lambda _
-- 
2.49.0




This bug report was last modified 129 days ago.

Previous Next


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