W2: remove broken KDE daemon activation .service files

The 5 .service files in redbear-dbus-services/files/session-services/
referenced binaries that don't exist in the Red Bear OS image:
- org.kde.kglobalaccel.service  -> /usr/bin/kglobalaccel (not built)
- org.kde.kded6.service          -> /usr/bin/kded6 (not built)
- org.kde.ActivityManager.service -> /usr/bin/kactivitymanagerd (not validated)
- org.kde.JobViewServer.service  -> /usr/bin/kuiserver (not validated)
- org.kde.ksmserver.service      -> /usr/bin/ksmserver (not validated)

Each file had a #TODO: comment acknowledging the gap. Per the
'honest absence' policy in local/AGENTS.md STUB AND WORKAROUND
POLICY ('don't have activate-able services for daemons that don't
exist'), these .service files are removed.

Working tree now contains only the 3 freedesktop session-services
files (Notifications, StatusNotifierWatcher, impl.pulseaudio).
The 5 KDE .service files were never tracked in git; the working
tree is clean.

No code depends on these activation files:
- KDE source code (kwin, kf6-kjobwidgets, kf6-kglobalaccel, etc.)
  references the D-Bus service NAMES (org.kde.kglobalaccel etc.)
  as runtime call targets, not the .service activation files.
  These are consumers that gracefully handle the absent daemon.
- No config TOML or recipe references these .service file paths.

Build still works: the recipe uses 'cp -a ... 2>/dev/null || true'
which handles empty/partial directories gracefully. This is a
config-only package with no Rust code.

Updates:
- recipe.toml: 8-line comment block at the top documenting the
  intentional absence and pointing to DBUS-INTEGRATION-PLAN.md.
- DBUS-INTEGRATION-PLAN.md: 4 locations updated - gap analysis
  tables (§4.2 and §4.3), architecture diagram, and service-file
  listing section all changed from 'activation file staged' to
  'activation file removed (honest absence)'.

The 3 remaining freedesktop session-services files (Notifications,
StatusNotifierWatcher, impl.pulseaudio) are intact. When the
respective KDE daemons are built and validated, the .service
files will be added or generated by the daemon recipes.
This commit is contained in:
kellito
2026-07-26 08:53:52 +09:00
parent 14db292213
commit 5d06323b5d
2 changed files with 27 additions and 39 deletions
+19 -39
View File
@@ -170,8 +170,8 @@ from `openRestricted()` — meaning it can start but cannot manage real devices.
``` ```
plasma-workspace needs: plasma-workspace needs:
org.kde.KWin ✅ KWin provides org.kde.KWin ✅ KWin provides
org.kde.kglobalaccel ⚠️ activation file staged — daemon/runtime proof build-verified; QEMU validation supplementary org.kde.kglobalaccel activation file removed (honest absence) — daemon binary not yet built/runtime-validated
org.kde.kded6 ⚠️ activation file staged — daemon/runtime proof build-verified; QEMU validation supplementary org.kde.kded6 activation file removed (honest absence) — daemon binary not yet built/runtime-validated
org.kde.plasmashell ✅ plasmashell provides (self-register) org.kde.plasmashell ✅ plasmashell provides (self-register)
org.kde.osdService ✅ plasmashell provides org.kde.osdService ✅ plasmashell provides
org.freedesktop.Notifications ✅ scaffold exists — current daemon logs to stderr only org.freedesktop.Notifications ✅ scaffold exists — current daemon logs to stderr only
@@ -186,9 +186,9 @@ Complete Plasma needs (after re-enabling disabled components):
org.freedesktop.NetworkManager ⏸️ DEFERRED — Red Bear OS uses redbear-netctl for now org.freedesktop.NetworkManager ⏸️ DEFERRED — Red Bear OS uses redbear-netctl for now
org.freedesktop.PolicyKit1 ⚠️ scaffold exists — KAuth still blocked on missing PolkitQt6-1 packaging org.freedesktop.PolicyKit1 ⚠️ scaffold exists — KAuth still blocked on missing PolkitQt6-1 packaging
org.freedesktop.StatusNotifierWatcher ✅ activation file staged — runtime watcher build-verified; supplementary QEMU broader desktop proof org.freedesktop.StatusNotifierWatcher ✅ activation file staged — runtime watcher build-verified; supplementary QEMU broader desktop proof
org.kde.JobViewServer ⚠️ activation file staged — kuiserver binary/runtime still open org.kde.JobViewServer activation file removed (honest absence) — kuiserver binary not yet built
org.kde.ksmserver ⚠️ activation file staged — session manager binary/runtime still open org.kde.ksmserver activation file removed (honest absence) — session manager binary not yet built
org.kde.ActivityManager ⚠️ activation file staged — activity manager binary/runtime still open org.kde.ActivityManager activation file removed (honest absence) — activity manager binary not yet built
org.freedesktop.ScreenSaver: deferred (not on critical path) — screen locking org.freedesktop.ScreenSaver: deferred (not on critical path) — screen locking
``` ```
@@ -222,11 +222,11 @@ Complete Plasma needs (after re-enabling disabled components):
│ ┌──────────────────────────────────────────────────────────────────┐ │ │ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ org.kde.KWin (KWin self-registers) │ │ │ │ org.kde.KWin (KWin self-registers) │ │
│ │ org.kde.plasmashell (plasmashell self-registers) │ │ │ │ org.kde.plasmashell (plasmashell self-registers) │ │
│ │ org.kde.kglobalaccel (kglobalaccel daemon) │ │ │ │ org.kde.kglobalaccel (daemon NOT built — activation removed) │ │
│ │ org.kde.kded6 (KDE daemon) │ │ │ │ org.kde.kded6 (daemon NOT built — activation removed) │ │
│ │ org.kde.ActivityManager (kactivitymanagerd scaffold) │ │ │ │ org.kde.ActivityManager (daemon NOT built — activation removed) │ │
│ │ org.kde.JobViewServer (kuiserver scaffold) │ │ │ │ org.kde.JobViewServer (daemon NOT built — activation removed) │ │
│ │ org.kde.ksmserver (ksmserver scaffold) │ │ │ │ org.kde.ksmserver (daemon NOT built — activation removed) │ │
│ │ org.freedesktop.Notifications (redbear-notifications) │ │ │ │ org.freedesktop.Notifications (redbear-notifications) │ │
│ │ org.freedesktop.StatusNotifierWatcher (redbear-statusnotifier)│ │ │ │ org.freedesktop.StatusNotifierWatcher (redbear-statusnotifier)│ │
│ └──────────────────────────────────────────────────────────────────┘ │ │ └──────────────────────────────────────────────────────────────────┘ │
@@ -410,31 +410,15 @@ org.freedesktop.login1.service:
Location: `/usr/share/dbus-1/session-services/` Location: `/usr/share/dbus-1/session-services/`
``` ```
org.kde.kglobalaccel.service: REMOVED (honest absence — daemons not built, Exec pointed to non-existent
[D-BUS Service] binaries; will be re-added when the daemons are built/validated):
Name=org.kde.kglobalaccel org.kde.kglobalaccel.service (Exec=/usr/bin/kglobalaccel)
Exec=/usr/bin/kglobalaccel org.kde.kded6.service (Exec=/usr/bin/kded6)
org.kde.ActivityManager.service (Exec=/usr/bin/kactivitymanagerd)
org.kde.kded6.service: org.kde.JobViewServer.service (Exec=/usr/bin/kuiserver)
[D-BUS Service] org.kde.ksmserver.service (Exec=/usr/bin/ksmserver)
Name=org.kde.kded6
Exec=/usr/bin/kded6
org.kde.ActivityManager.service:
[D-BUS Service]
Name=org.kde.ActivityManager
Exec=/usr/bin/kactivitymanagerd
org.kde.JobViewServer.service:
[D-BUS Service]
Name=org.kde.JobViewServer
Exec=/usr/bin/kuiserver
org.kde.ksmserver.service:
[D-BUS Service]
Name=org.kde.ksmserver
Exec=/usr/bin/ksmserver
STAGED (daemons built and validated):
org.freedesktop.Notifications.service: org.freedesktop.Notifications.service:
[D-BUS Service] [D-BUS Service]
Name=org.freedesktop.Notifications Name=org.freedesktop.Notifications
@@ -452,12 +436,8 @@ local/recipes/system/redbear-dbus-services/
├── system-services/ ├── system-services/
│ └── org.freedesktop.login1.service │ └── org.freedesktop.login1.service
├── session-services/ ├── session-services/
│ ├── org.kde.kglobalaccel.service
│ ├── org.kde.kded6.service
│ ├── org.kde.ActivityManager.service
│ ├── org.kde.JobViewServer.service
│ ├── org.kde.ksmserver.service
│ └── org.freedesktop.Notifications.service │ └── org.freedesktop.Notifications.service
│ # (KDE daemon .service files removed — see §4.2/§4.3 gap analysis)
├── system.d/ ├── system.d/
│ ├── org.freedesktop.login1.conf │ ├── org.freedesktop.login1.conf
│ └── org.redbear.session.conf │ └── org.redbear.session.conf
@@ -1,3 +1,11 @@
# KDE daemon activation files intentionally absent — the following daemons are
# not yet built/runtime-validated, so their .service files would trigger D-Bus
# auto-activation failures (Exec points to non-existent binaries):
# org.kde.kglobalaccel, org.kde.kded6, org.kde.ActivityManager,
# org.kde.JobViewServer, org.kde.ksmserver
# They will be added (or generated by the daemon recipes) when built.
# See local/docs/DBUS-INTEGRATION-PLAN.md.
[package] [package]
name = "redbear-dbus-services" name = "redbear-dbus-services"
version = "0.1.0" version = "0.1.0"