4 D-Bus shims sustituyendo systemd: hostnamed, timedated, localed, journald

Patrón de compat-logind extendido a 4 servicios más que GNOME/KDE consultan
al boot. Cada uno: anuncia al bus interno, intenta RequestName en system bus,
degrada a idle si la policy lo bloquea, sirve método mientras esté arriba.

- compat-hostnamed: org.freedesktop.hostname1. Properties read /etc/hostname,
  /etc/os-release, /sys/class/dmi/id/* y uname(). Setters log + cache.
- compat-timedated: org.freedesktop.timedate1. Timezone via readlink
  /etc/localtime. ListTimezones desde /usr/share/zoneinfo.
- compat-localed: org.freedesktop.locale1. Lee /etc/locale.conf,
  /etc/vconsole.conf, /etc/X11/xorg.conf.d/00-keyboard.conf.
- compat-journald: stub datagram listener en /run/systemd/journal/socket
  y /dev/log. Decodifica syslog y journald native, emite tracing events.

Dev seed los incluye condicionalmente. Verificado: los 5 shims
(logind+4 nuevos) anunciados al bus interno con auth SO_PEERCRED.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sergio
2026-05-04 09:44:19 +00:00
parent f4eb7dd944
commit 6ad6d08fa8
11 changed files with 936 additions and 0 deletions
Generated
+55
View File
@@ -378,6 +378,35 @@ dependencies = [
"tracing-subscriber",
]
[[package]]
name = "ente-hostnamed-compat"
version = "0.0.1"
dependencies = [
"anyhow",
"ente-bus",
"ente-card",
"libc",
"nix",
"tokio",
"tracing",
"tracing-subscriber",
"zbus",
]
[[package]]
name = "ente-journald-compat"
version = "0.0.1"
dependencies = [
"anyhow",
"ente-bus",
"ente-card",
"libc",
"nix",
"tokio",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "ente-kernel"
version = "0.0.1"
@@ -390,6 +419,19 @@ dependencies = [
"tracing",
]
[[package]]
name = "ente-localed-compat"
version = "0.0.1"
dependencies = [
"anyhow",
"ente-bus",
"ente-card",
"tokio",
"tracing",
"tracing-subscriber",
"zbus",
]
[[package]]
name = "ente-logind-compat"
version = "0.0.1"
@@ -426,6 +468,19 @@ dependencies = [
"tracing",
]
[[package]]
name = "ente-timedated-compat"
version = "0.0.1"
dependencies = [
"anyhow",
"ente-bus",
"ente-card",
"tokio",
"tracing",
"tracing-subscriber",
"zbus",
]
[[package]]
name = "ente-wasm"
version = "0.0.1"