🚪 cosmic: el BACKEND del portal sella (b3:7ad0f124) — cadena completa en la imagen

69 min. NEEDED: libgbm, libpipewire, libxkbcommon, libc. Instala el binario
en /usr/libexec, el .service de D-Bus con @libexecdir@ sustituido, el
cosmic.portal que declara las cinco interfaces
(Access/FileChooser/Screenshot/Settings/ScreenCast) y sus iconos.

clang18 se construyó en la granja y se cosechó al laptop (b3:62c6bfb5), pero
el backend NO se pudo construir allá: el worker no tiene la cola COSMIC
horneada —el snapshot golden es del 2026-07-15 y toda esta cola es
posterior— así que intentó reconstruir pipewire y murió buscando glib. Es la
regla de «rootfs laptop ≠ worker» pero con el STORE: lo que en el laptop es
cache-hit, en el worker es un build entero con sus propias deps.

Y destapó que la receta de pipewire NO lleva --wrap-mode=nodownload: ante
una dep faltante intenta bajarse un subproyecto de internet y, sin red, el
error que sale no es «te falta glib» sino «Unhandled python exception / This
is a Meson bug». Queda anotado como deuda.

--offline SIN --locked, y no es descuido: el sed del parche corre en la fase
compile, o sea DESPUÉS del cargo vendor, así que cargo ve el Cargo.toml
cambiado y con --locked se niega. Quitar una feature sólo puede ENCOGER el
conjunto de crates, así que lo que haga falta ya está vendorizado; la
hermeticidad la da --offline + el árbol vendorizado, no el --locked.

Dos raíces en el perfil y en la hidratación, porque son DOS procesos que se
encuentran por D-Bus en runtime y ningún [deps] los relaciona. Imagen en 83
recetas (eran 74).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-05 06:04:13 -04:00
co-authored by Claude Opus 5
parent 3f3ae98a63
commit 1e786aaf42
3 changed files with 19 additions and 1 deletions
+6
View File
@@ -73,6 +73,12 @@ else
# …y la captura, la sexta. Se incluye SABIENDO que hoy falla: pide la captura al portal XDG, que
# la imagen no tiene. Está acá para que el hueco sea visible y medible, no para que funcione.
recipes/incoming-cosmic/cosmic-screenshot.toml
# ── LA CADENA DEL PORTAL, y son DOS raíces porque son DOS procesos ───────────────────────────
# El frontend registra `org.freedesktop.portal.Desktop` (lo que los clientes buscan) y enruta al
# backend por `org.freedesktop.impl.portal.*`. Ninguno es dep de build del otro: se encuentran
# por D-Bus en runtime, así que el grafo no los ve — igual que los componentes de la sesión.
recipes/incoming-cosmic/xdg-desktop-portal.toml
recipes/incoming-cosmic/xdg-desktop-portal-cosmic.toml
recipes/incoming-cosmic/cosmic-app-library.toml
recipes/incoming-cosmic/cosmic-workspaces-epoch.toml
# Ni binario ni librería: DATOS. El tema de iconos de COSMIC — sin él el escritorio no se ve