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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 77752 in the body.
You can then email your comments to 77752 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 efraim <at> flashner.co.il, vagrant <at> debian.org, guix-patches <at> gnu.org:
bug#77752; Package guix-patches. (Fri, 11 Apr 2025 17:52:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Rutherther <rutherther <at> ditigal.xyz>:
New bug report received and forwarded. Copy sent to efraim <at> flashner.co.il, vagrant <at> debian.org, guix-patches <at> gnu.org. (Fri, 11 Apr 2025 17:52:02 GMT) Full text and rfc822 format available.

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

From: Rutherther <rutherther <at> ditigal.xyz>
To: guix-patches <at> gnu.org
Cc: Rutherther <rutherther <at> ditigal.xyz>
Subject: [PATCH] gnu: fwupd: Add elogind input
Date: Fri, 11 Apr 2025 19:50:56 +0200
The fwupd package doesn't contain the dbus service in
share/dbus-1/system-service, that is because it is installed only
conditionally when elogind is available.

This will introduce the service in the output, so user's won't have to start
fwupd themselves, it will get started by dbus on demand.

I don't think this should break anything for systems that do not use elogin,
the only places this is used will fall back to error:
- https://github.com/fwupd/fwupd/blob/1.8.14/src/fu-util-common.c#L242,
- https://github.com/fwupd/fwupd/blob/1.8.14/src/fu-util-common.c#L287
Meaning users without elogind will get error either way, just a different kind
of error.

* gnu/packages/firmware.scm: (fwupd)[inputs]: Add elogind

Change-Id: Id44001de6950bb6b39f1b3bba316a08ce6640fc0
---
 gnu/packages/firmware.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index f04edefafe..5e89edc621 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -65,6 +65,7 @@ (define-module (gnu packages firmware)
   #:use-module (gnu packages embedded)
   #:use-module (gnu packages flashing-tools)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
@@ -289,6 +290,7 @@ (define-public fwupd
                          gettext-minimal))
     (inputs (append
              (list bash-completion
+                   elogind
                    libgudev
                    libxmlb
                    sqlite

base-commit: 13aeb3abf9a8f4a4db1afaacdac275b5b564afdc
prerequisite-patch-id: e39a216cb0ec18caa634a73b5ea378912d61ef7c
-- 
2.49.0




Information forwarded to rutherther <at> ditigal.xyz, efraim <at> flashner.co.il, vagrant <at> debian.org, guix-patches <at> gnu.org:
bug#77752; Package guix-patches. (Fri, 11 Apr 2025 19:55:02 GMT) Full text and rfc822 format available.

Message #8 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 1/2] gnu: fwupd: Add elogind input
Date: Fri, 11 Apr 2025 21:54:00 +0200
The fwupd package doesn't contain the dbus service in
share/dbus-1/system-service, that is because it is installed only
conditionally when elogind is available.

This will introduce the service in the output, so user's won't have to start
fwupd themselves, it will get started by dbus on demand.

I don't think this should break anything for systems that do not use elogin,
the only places this is used will fall back to error:
- https://github.com/fwupd/fwupd/blob/1.8.14/src/fu-util-common.c#L242,
- https://github.com/fwupd/fwupd/blob/1.8.14/src/fu-util-common.c#L287
Meaning users without elogind will get error either way, just a different kind
of error.

* gnu/packages/firmware.scm: (fwupd)[inputs]: Add elogind

Change-Id: Id44001de6950bb6b39f1b3bba316a08ce6640fc0
---
 gnu/packages/firmware.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index f04edefafe..5e89edc621 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -65,6 +65,7 @@ (define-module (gnu packages firmware)
   #:use-module (gnu packages embedded)
   #:use-module (gnu packages flashing-tools)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
@@ -289,6 +290,7 @@ (define-public fwupd
                          gettext-minimal))
     (inputs (append
              (list bash-completion
+                   elogind
                    libgudev
                    libxmlb
                    sqlite

base-commit: 13aeb3abf9a8f4a4db1afaacdac275b5b564afdc
-- 
2.49.0




Information forwarded to rutherther <at> ditigal.xyz, efraim <at> flashner.co.il, vagrant <at> debian.org, guix-patches <at> gnu.org:
bug#77752; Package guix-patches. (Fri, 11 Apr 2025 19:55:02 GMT) Full text and rfc822 format available.

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




Reply sent to Ludovic Courtès <ludo <at> chbouib.org>:
You have taken responsibility. (Tue, 15 Apr 2025 08:25:08 GMT) Full text and rfc822 format available.

Notification sent to Rutherther <rutherther <at> ditigal.xyz>:
bug acknowledged by developer. (Tue, 15 Apr 2025 08:25:08 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> chbouib.org>
To: Rutherther <rutherther <at> ditigal.xyz>
Cc: Vagrant Cascadian <vagrant <at> debian.org>, 77752-done <at> debbugs.gnu.org,
 Efraim Flashner <efraim <at> flashner.co.il>
Subject: Re: [bug#77752] [PATCH v2 1/2] gnu: fwupd: Add elogind input
Date: Tue, 15 Apr 2025 10:10:01 +0200
Rutherther <rutherther <at> ditigal.xyz> writes:

> The fwupd package doesn't contain the dbus service in
> share/dbus-1/system-service, that is because it is installed only
> conditionally when elogind is available.
>
> This will introduce the service in the output, so user's won't have to start
> fwupd themselves, it will get started by dbus on demand.
>
> I don't think this should break anything for systems that do not use elogin,
> the only places this is used will fall back to error:
> - https://github.com/fwupd/fwupd/blob/1.8.14/src/fu-util-common.c#L242,
> - https://github.com/fwupd/fwupd/blob/1.8.14/src/fu-util-common.c#L287
> Meaning users without elogind will get error either way, just a different kind
> of error.
>
> * gnu/packages/firmware.scm: (fwupd)[inputs]: Add elogind
>
> Change-Id: Id44001de6950bb6b39f1b3bba316a08ce6640fc0

[...]

> 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

Applied, thanks!




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

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.