1# compat/ — Shims D-Bus systemd23**Propósito.** Permitir que software systemd-aware (GNOME, KDE,
4PolicyKit, NetworkManager, etc.) corra sobre `arje-zero` sin systemd.
5Cada shim es un binario standalone que se anuncia con un nombre
6well-known D-Bus y traduce las llamadas al bus interno.
78## Crates910| binario | reemplaza | D-Bus name |
11| --------------------------- | --------------------- | ----------------------------------- |
12| `arje-logind-compat` | systemd-logind | `org.freedesktop.login1` |
13| `arje-hostnamed-compat` | systemd-hostnamed | `org.freedesktop.hostname1` |
14| `arje-timedated-compat` | systemd-timedated | `org.freedesktop.timedate1` |
15| `arje-localed-compat` | systemd-localed | `org.freedesktop.locale1` |
16| `arje-journald-compat` | systemd-journald | `org.freedesktop.LogControl1` |
17| `arje-resolved-compat` | systemd-resolved | `org.freedesktop.resolve1` |
18| `arje-polkit-compat` | polkitd | `org.freedesktop.PolicyKit1` |
19| `arje-machined-compat` | systemd-machined | `org.freedesktop.machine1` |
20| `arje-systemd1-compat` | systemd Manager | `org.freedesktop.systemd1` |
21| `arje-notify-compat` | sd_notify socket | `/run/systemd/notify` (datagram) |
22| `arje-timer-compat` | systemd timers | (cron-like, sin D-Bus) |
23| `arje-tmpfiles-compat` | systemd-tmpfiles | (aplica tmpfiles.d al boot) |
24| `arje-binfmt-compat` | systemd-binfmt | (registra handlers binfmt_misc) |
25| `arje-policy-provider` | (interno) | provider de decisiones polkit |
2627## Dependencias2829- Todos ← `zbus`, `arje-bus`, `protocol/brahman-card`. Sin tests
30 (esperado: stubs D-Bus que delegan al bus interno).
3132## Patrón común3334Cada shim:
351. Se conecta a `/run/brahman/bus`.
362. Reclama un well-known name vía zbus.
373. Implementa los métodos de la interfaz mínima usada por el ecosistema.
384. Loggea eventos al audit log de `arje-brain`.
3940## Estado4142LOC ~5K total (~300 LOC c/u). Suficiente para que `desktop-file-utils`,
43`xdg-open`, login managers, y CLIs systemd-aware no rompan. Pendiente:
44cobertura de métodos avanzados (Inhibit en logind, SetVariable en localed).
SDD.md
compat/ — Shims D-Bus systemd
Propósito. Permitir que software systemd-aware (GNOME, KDE,
PolicyKit, NetworkManager, etc.) corra sobre arje-zero sin systemd.
Cada shim es un binario standalone que se anuncia con un nombre
well-known D-Bus y traduce las llamadas al bus interno.
Crates
binario
reemplaza
D-Bus name
arje-logind-compat
systemd-logind
org.freedesktop.login1
arje-hostnamed-compat
systemd-hostnamed
org.freedesktop.hostname1
arje-timedated-compat
systemd-timedated
org.freedesktop.timedate1
arje-localed-compat
systemd-localed
org.freedesktop.locale1
arje-journald-compat
systemd-journald
org.freedesktop.LogControl1
arje-resolved-compat
systemd-resolved
org.freedesktop.resolve1
arje-polkit-compat
polkitd
org.freedesktop.PolicyKit1
arje-machined-compat
systemd-machined
org.freedesktop.machine1
arje-systemd1-compat
systemd Manager
org.freedesktop.systemd1
arje-notify-compat
sd_notify socket
/run/systemd/notify (datagram)
arje-timer-compat
systemd timers
(cron-like, sin D-Bus)
arje-tmpfiles-compat
systemd-tmpfiles
(aplica tmpfiles.d al boot)
arje-binfmt-compat
systemd-binfmt
(registra handlers binfmt_misc)
arje-policy-provider
(interno)
provider de decisiones polkit
Dependencias
Todos ← zbus, arje-bus, protocol/brahman-card. Sin tests
(esperado: stubs D-Bus que delegan al bus interno).
Patrón común
Cada shim:
Se conecta a /run/brahman/bus.
Reclama un well-known name vía zbus.
Implementa los métodos de la interfaz mínima usada por el ecosistema.
Loggea eventos al audit log de arje-brain.
Estado
LOC ~5K total (~300 LOC c/u). Suficiente para que desktop-file-utils,
xdg-open, login managers, y CLIs systemd-aware no rompan. Pendiente:
cobertura de métodos avanzados (Inhibit en logind, SetVariable en localed).