gnome: receta arje-logind-compat — login1 YA existe en tawasuyu (no hay que empaquetar elogind)
El daemon shim D-Bus de org.freedesktop.login1 ya está autorado y maduro en el monorepo tawasuyu (arje-compat, un binario por servicio). Yo lo había dado por inexistente grepeando SÓLO el repo hammer, no tawasuyu — error. seatd da asiento (DRM/input), login1 da sesiones, y login1 = esto: arje-logind-compat implementa el subset del Manager que GNOME/KDE consultan al boot (ListSessions/Seats/Users, Inhibit, Can*/PowerOff/Reboot/Suspend, IdleHint) traduciendo al bus interno de arje, fuera de PID1 y supervisado. Receta HUB-ONLY (fuente gitea:22 ⇒ worker secretless da Connection refused). Pineada a 06184e43 (rama selfhost/arje-zero-attest-lockfile): más nueva que la de arje-zero porque trae el reorg arje-compat + el Cargo.lock del workspace en raíz ⇒ build --locked reproducible. Sella dry-run: b3:410b6088. No hace falta C-ABI sd-login ni PAM: la sesión se registra por el bus arje (mirada-greeter→fractal), no por pam_systemd. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# arje-logind-compat — el daemon shim D-Bus que se hace pasar por `org.freedesktop.login1`
|
||||
# (systemd-logind) para GNOME/KDE. NO es un stub: implementa el subset del `Manager` que los
|
||||
# escritorios consultan al arranque — ListSessions/ListSeats/ListUsers/GetSession(ByPID),
|
||||
# Inhibit/ListInhibitors, CanPowerOff/Reboot/Suspend/Hibernate + PowerOff/Reboot/Suspend/Hibernate,
|
||||
# propiedades IdleHint/BlockInhibited — y traduce cada llamada al bus interno del fractal arje.
|
||||
# Corre FUERA de PID 1 (un parser D-Bus en el Init es superficie de CVE), supervisado por el Ente #0.
|
||||
# Toma el DRM master vía el idioma TakeDevice (major 226) para que mutter/kwin sean master.
|
||||
#
|
||||
# ESTO ES lo que yo creía que faltaba: NO hace falta empaquetar elogind ni delegar nada a tawasuyu.
|
||||
# arje-compat ya provee login1. seatd sigue dando SÓLO asiento (DRM/input); login1 = sesiones, y es
|
||||
# esto. El frente GNOME (y KDE) enlazan/consultan login1 EN RUNTIME por D-Bus, no linkean libelogind:
|
||||
# no hace falta la C-ABI sd-login ni un módulo PAM, porque la sesión se registra por el bus interno
|
||||
# de arje (mirada-greeter → fractal), no por pam_systemd. Ver [[frente-gnome]] / [[frente-harkaq-jaula]].
|
||||
#
|
||||
# Receta Cargo (patrón arje-zero): fuente = monorepo tawasuyu a un commit PINEADO que carga el
|
||||
# `Cargo.lock` del workspace en raíz (el monorepo lo gitignora) ⇒ fetch vendorea `--locked` y el
|
||||
# build es `--offline` hermético y bit-reproducible. El commit es la rama
|
||||
# `selfhost/arje-zero-attest-lockfile` (06184e43): más nueva que la de arje-zero (9967b02c) porque
|
||||
# incluye el reorg `arje-compat` — el crate único con un binario por servicio que reemplaza los 15
|
||||
# crates dispersos de `compat/`. `-p arje-compat --bin arje-logind-compat` compila SÓLO este daemon.
|
||||
# Estático zig-cc (zbus sobre socket unix + tokio + nix; sin loader del host, como todo arje).
|
||||
#
|
||||
# HUB-ONLY: fuente `gitea@git.tawasuyu.net` puerto 22 ⇒ el worker secretless recibe Connection
|
||||
# refused (la gitea escucha en :2345). Se muele en el hub, no en un worker efímero. Ver
|
||||
# [[rootfs-laptop-worker-divergen]] y el gotcha de recetas tawasuyu en [[frente-gnome]].
|
||||
name = "arje-logind-compat"
|
||||
version = "0.0.1"
|
||||
|
||||
[source]
|
||||
# El `commit` es el identificador inmutable (la URL es sólo locator, no entra al hash).
|
||||
repo = "gitea@git.tawasuyu.net:tawasuyu/tawasuyu.git"
|
||||
commit = "06184e43a8b3179e41905dc56ba07ec569df1ebb"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "static"
|
||||
flags = ["-p", "arje-compat", "--bin", "arje-logind-compat"]
|
||||
Reference in New Issue
Block a user