Etapa G: mirada-greeter CONSTRUIDO — primera app gráfica tawasuyu sobre el stack
mirada-greeter sellado (store/41fdd015…): el greeter/login de mirada (runtime Elm Llimphi sobre winit + wgpu) compila ENTERO para musl — 314 crates incl. wgpu/winit/naga/smithay/ llimphi-* — y enlaza dinámico. Valida la cadena completa: stack gráfico (wayland+mesa) → app GUI tawasuyu real. Binario: PIE dinámico, DT_NEEDED = sólo libpam.so.0 + musl; EGL/GLES/GBM/wayland/iris se dlopen-ean en runtime (wgpu/winit), así que el rootfs debe tenerlas (mesa+wayland ya selladas). Dos blockers resueltos en el camino: - atspi/accesskit (a11y, vía accesskit_winit): zbus-lockstep-macros #[validate] PANICA («File has no extension.») al escanear xml/ de atspi-common y hacer .extension().expect() sobre el SUBDIR xml/schemas/ (lib.rs:147). Fix: fase compile custom (réplica de la fase Cargo de hammer) que setea LOCKSTEP_XML_PATH a un dir con sólo los .xml. - PAM: auth-core → pam/pam-sys hace bindgen sobre security/pam_appl.h ⇒ nueva receta linux-pam 1.6.1 (libpam.so + headers; build limpio en musl con gcc de Alpine). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+14
-4
@@ -92,11 +92,21 @@ Modeladas sobre `recipes/arje-zero.toml` (fuente = monorepo tawasuyu a commit fi
|
||||
|---|---|---|---|
|
||||
| `arje-splash` | `/usr/lib/arje/arje-splash` | static-musl | sólo DRM dumb-buffer (sin Mesa) |
|
||||
| `net-bring-up` | `/usr/lib/arje/net-bring-up` | static-musl | ninguna |
|
||||
| `mirada-greeter` | `/usr/lib/arje/mirada-greeter-llimphi` | **dynamic** | EGL/GLES/GBM (mesa) + wayland + libseat |
|
||||
| `mirada-greeter` | `/usr/bin/mirada-greeter` | **dynamic** 🟢 **built** | dlopen: EGL/GLES/GBM (mesa) + wayland; link: libpam |
|
||||
|
||||
`mirada-greeter` es el único que enlaza Mesa dinámico ⇒ **ya DESBLOQUEADO** (Mesa 24.0.9 sellada).
|
||||
Próximo paso: receta Cargo de `mirada-greeter` con deps gráficas EGL/GLES/GBM (mesa) + wayland +
|
||||
libseat, link dinámico. Los otros dos (arje-splash, net-bring-up) no dependen de Mesa.
|
||||
`mirada-greeter` 🟢 **CONSTRUIDO Y SELLADO** (Cargo, 314 crates incl. todo el stack wgpu/winit/llimphi
|
||||
para musl; PIE dinámico). DT_NEEDED real = sólo `libpam.so.0` + musl; **EGL/GLES/GBM/wayland/iris se
|
||||
dlopen-ean en runtime** (wgpu/winit) ⇒ el rootfs debe TENERLAS presentes pero no son NEEDED. Fixes de
|
||||
la receta:
|
||||
- **atspi/accesskit** (a11y, vía `accesskit_winit`): `zbus-lockstep-macros` `#[validate]` PANICA
|
||||
(«File has no extension.») porque escanea `xml/` de atspi-common y hace `.extension().expect()` en
|
||||
el SUBDIR `xml/schemas/` (zbus-lockstep-macros/src/lib.rs:147). Fix = fase `compile` custom que
|
||||
apunta `LOCKSTEP_XML_PATH` a un dir con sólo los `.xml`. (Más limpio a futuro: hacer accesskit
|
||||
OPCIONAL en llimphi-ui — el greeter no necesita a11y.)
|
||||
- **PAM**: auth-core → `pam`/`pam-sys` hace bindgen sobre `security/pam_appl.h` ⇒ nueva receta
|
||||
`linux-pam` 1.6.1 (libpam.so + headers, build limpio en musl con gcc de Alpine).
|
||||
|
||||
Los otros dos (arje-splash, net-bring-up) no dependen de Mesa.
|
||||
|
||||
## Hecho cuando
|
||||
|
||||
|
||||
Reference in New Issue
Block a user