feat(compat): arje-compat-common — núcleo puro y testeado para los shims
El hallazgo del repaso del monorepo: la capa compat (14 shims D-Bus de systemd) era lo más incompleto relativo a su peso — load-bearing para correr GNOME/KDE sobre arje, y con CERO tests. Cada shim copiaba su propio `atomic_write`, su parseo `KEY=value` y sus validadores. Primer golpe: - `arje-compat-common`: crate nuevo con la lógica pura compartida (atomic_write, parse_kv, merge_kv, conf_entries, is_valid_hostname), cubierta con 8 tests. Antes esa lógica vivía duplicada y sin un test. - `arje-hostnamed-compat` y `arje-localed-compat` migrados al núcleo — quedan más finos y su lógica pasa a estar cubierta. - localed: los dos setters que eran stub (sólo loggeaban) ahora escriben de verdad — `SetVConsoleKeymap` → /etc/vconsole.conf, `SetX11Keyboard` → 00-keyboard.conf. + 2 tests propios. - Bug corregido de paso: el parser xorg de localed devolvía el NOMBRE de la opción en vez del valor (tomaba la 1ª comilla); ahora toma la 2ª cadena, la correcta. Compat: de 0 a 10 tests. Quedan 12 shims con la misma migración mecánica pendiente; el plato fuerte real es `Inhibit` en logind. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Generated
+7
@@ -448,6 +448,10 @@ dependencies = [
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "arje-compat-common"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "arje-echo"
|
||||
version = "0.0.1"
|
||||
@@ -467,6 +471,7 @@ dependencies = [
|
||||
"anyhow",
|
||||
"arje-bus",
|
||||
"arje-card",
|
||||
"arje-compat-common",
|
||||
"libc",
|
||||
"nix 0.29.0",
|
||||
"tokio",
|
||||
@@ -522,6 +527,7 @@ dependencies = [
|
||||
"anyhow",
|
||||
"arje-bus",
|
||||
"arje-card",
|
||||
"arje-compat-common",
|
||||
"tokio",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
@@ -3059,6 +3065,7 @@ dependencies = [
|
||||
name = "cosmobiologia-engine"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"cosmobiologia-corpus",
|
||||
"cosmobiologia-model",
|
||||
"cosmobiologia-render",
|
||||
"eternal-astrology",
|
||||
|
||||
Reference in New Issue
Block a user