Dear Maintainer,
0.5.0-3 switched urfkill to logind ("Switch to logind for session tracking, consolekit is deprecated"), and 0.5.0-7 made it depend on default-logind | logind.
In 0.5.0-8 debian/rules no longer passes that option: the line before it lost its trailing backslash and the option itself is commented out, so configure takes its default, ConsoleKit.
On a system with logind and without ConsoleKit, urfkill.service then fails at every start:
<warning> GetSeats Failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.ConsoleKit was not provided by any .service files
<warning> failed to setup session checker
<warning> Could not startup; bailing out
urfkill.service: Main process exited, code=exited, status=1/FAILURE
With the fix below, the same source builds a urfkilld that asks logind, and urfkill.service starts and manages the switches.
I tested both builds on a laptop with three rfkill switches (ideapad_wlan, ideapad_bluetooth, phy0), running forky's packages with systemd-logind and no ConsoleKit: 0.5.0-8 as shipped ends in start-limit-hit, the fixed build stays active.
0.5.0-8 also added 06_fix_autoconf272_session_tracking.patch, so the commented line may be a leftover of that build fix.
The fix, in debian/rules:
--- a/debian/rules
+++ b/debian/rules
@@ -16,8 +16,8 @@
override_dh_auto_configure: debian/urfkill.service
dh_auto_configure -- \
- --libexecdir=\$${libdir}/urfkill
- #--with-session-tracking=systemd
+ --libexecdir=\$${libdir}/urfkill \
+ --with-session-tracking=systemd
override_dh_installinit:
dh_installinit --name=urfkill
I found this with AI assistance and checked it myself on Debian forky.
Daniel Ramos