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:
org.kde.KWin ✅ KWin provides
org.kde.kglobalaccel ⚠️ activation file staged — daemon/runtime proof build-verified; QEMU validation supplementary
org.kde.kded6 ⚠️ 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 removed (honest absence) — daemon binary not yet built/runtime-validated
org.kde.plasmashell ✅ plasmashell provides (self-register)
org.kde.osdService ✅ plasmashell provides
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.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.kde.JobViewServer ⚠️ activation file staged — kuiserver binary/runtime still open
org.kde.ksmserver ⚠️ activation file staged — session manager binary/runtime still open
org.kde.ActivityManager ⚠️ activation file staged — activity manager binary/runtime still open
org.kde.JobViewServer activation file removed (honest absence) — kuiserver binary not yet built
org.kde.ksmserver activation file removed (honest absence) — session manager binary not yet built
org.kde.ActivityManager activation file removed (honest absence) — activity manager binary not yet built
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.plasmashell (plasmashell self-registers) │ │
│ │ org.kde.kglobalaccel (kglobalaccel daemon) │ │
│ │ org.kde.kded6 (KDE daemon) │ │
│ │ org.kde.ActivityManager (kactivitymanagerd scaffold) │ │
│ │ org.kde.JobViewServer (kuiserver scaffold) │ │
│ │ org.kde.ksmserver (ksmserver scaffold) │ │
│ │ org.kde.kglobalaccel (daemon NOT built — activation removed) │ │
│ │ org.kde.kded6 (daemon NOT built — activation removed) │ │
│ │ org.kde.ActivityManager (daemon NOT built — activation removed) │ │
│ │ org.kde.JobViewServer (daemon NOT built — activation removed) │ │
│ │ org.kde.ksmserver (daemon NOT built — activation removed) │ │
│ │ org.freedesktop.Notifications (redbear-notifications) │ │
│ │ org.freedesktop.StatusNotifierWatcher (redbear-statusnotifier)│ │
│ └──────────────────────────────────────────────────────────────────┘ │
@@ -410,31 +410,15 @@ org.freedesktop.login1.service:
Location: `/usr/share/dbus-1/session-services/`
```
org.kde.kglobalaccel.service:
[D-BUS Service]
Name=org.kde.kglobalaccel
Exec=/usr/bin/kglobalaccel
org.kde.kded6.service:
[D-BUS Service]
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
REMOVED (honest absence — daemons not built, Exec pointed to non-existent
binaries; will be re-added when the daemons are built/validated):
org.kde.kglobalaccel.service (Exec=/usr/bin/kglobalaccel)
org.kde.kded6.service (Exec=/usr/bin/kded6)
org.kde.ActivityManager.service (Exec=/usr/bin/kactivitymanagerd)
org.kde.JobViewServer.service (Exec=/usr/bin/kuiserver)
org.kde.ksmserver.service (Exec=/usr/bin/ksmserver)
STAGED (daemons built and validated):
org.freedesktop.Notifications.service:
[D-BUS Service]
Name=org.freedesktop.Notifications
@@ -452,12 +436,8 @@ local/recipes/system/redbear-dbus-services/
├── system-services/
│ └── org.freedesktop.login1.service
├── 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
│ # (KDE daemon .service files removed — see §4.2/§4.3 gap analysis)
├── system.d/
│ ├── org.freedesktop.login1.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]
name = "redbear-dbus-services"
version = "0.1.0"