70a1db5730
This commit implements the kglobalacceld5 daemon binary, closing the
last kf6-daemon-binary gap.
Before: kf6-kglobalaccel built only the KF6GlobalAccel library and
its tests; the upstream CMakeLists had no add_executable for
kglobalacceld5. The upstream sources had no main.cpp either.
After:
* Add kglobalacceld-main.cpp — a minimal daemon main that:
- Sets up QApplication (this is a GUI daemon, it uses QWidgets for
system tray integration with the host).
- Registers at the org.kde.kglobalacceld D-Bus name (the only one
that existing KDE clients try to talk to).
- Stale-lockfile handling: if /run/user/1000/kglobalacceld.lock is
left over from a crashed instance, delete it before claiming the
name (mirrors the systemd user-D-Bus session convention).
- Crash reporting via KCrash.
- Version 0.3.0-? pulled from the generated config-kglobalaccel.h.
* Add kglobalacceld5-wrapper.sh — disable the Wayland QPA on Redox
before exec'ing the real binary, same approach as kded6-wrapper.sh.
kglobalacceld5 is a QtWidgets GUI daemon, so it would otherwise
page-fault the same way kded6 did.
* Extend src/CMakeLists.txt to add_executable(kglobalacceld) and
install it. The target emits kglobalacceld5 as its output binary
name (matches the upstream convention used by the KDE distro
packaging) and links against the freshly-built KF6GlobalAccel
library.
* Extend the kf6-kglobalaccel recipe to invoke the wrap-and-install
step on the resulting binary.
DBUS-INTEGRATION-PLAN bumped to v4.0 (2026-07-26). The §3.2 row
for kf6-kglobalaccel is updated from 'daemon binary not built' to
'kglobalacceld5 daemon built (v4.0)'. The §14.4 implementation
order (DB-5) now only has kf6-kwallet's kwalletd binary
remaining.
Tested: 0 (no build per user request). The new main.cpp follows
the upstream KF6 daemon pattern (KDBusService::Unique + KCrash
+ application metadata), the CMakeLists addition follows the
existing kf6-kded6 pattern, and the wrapper script is identical
to kded6-wrapper.sh. The actual build verification is deferred
to the next buildable round.