From 232f23c5a8788a4465a3c1f18bc0e84904ca32f7 Mon Sep 17 00:00:00 2001 From: sergio Date: Tue, 4 Aug 2026 17:21:53 -0400 Subject: [PATCH] =?UTF-8?q?=E2=9A=99=20cosmic:=20cosmic-settings=20?= =?UTF-8?q?=E2=80=94=20el=20panel=20de=20control,=20y=20NO=20arrastra=20me?= =?UTF-8?q?dio=20sistema?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sellada b3:716dac53. Cola 33/33, escritorio-cosmic 71/71. Abre desde el lanzador con la barra lateral entera (Red, Bluetooth, Accesibilidad, Escritorio, Pantallas, Sonido, Energía, Entrada, Aplicaciones, Fecha y hora, Sistema y cuentas). Tarda ~20s con render por software; no está colgado. La sorpresa buena: nada de NetworkManager, libpulse, udisks ni accountsservice — habla con los daemons por zbus, que es Rust puro. Se verificó ANTES de escribir la receta listando los crates -sys del Cargo.lock, que es donde vive la verdad sobre qué C hace falta: sólo drm-sys, input-sys, libudev-sys, dav1d-sys, wayland-sys (dlopen) y gettext-sys. Regla barata: grep '^name = ".*-sys"' Cargo.lock antes de adivinar deps por lo que el programa hace. Volvió a morder la doble barra de cosmic-protocols// (404 de GitHub, muere en el fetch con tres reintentos). Segunda víctima ⇒ es patrón de la suite, no rareza de un repo. Instala 32 .desktop, uno por página. Y default_schema va con find, no cp plano: es el árbol /v1/ de cosmic-config, donde cada clave es un fichero con su nombre. Deuda que deja su propio log: org.freedesktop.locale1 no lo sirve nadie ⇒ la página de idioma no podrá cambiar nada. Mismo tipo que login1, mismo arreglo. Co-Authored-By: Claude Opus 5 (1M context) --- .../cosmic-settings-qemu-2026-08-04.png | Bin 0 -> 58038 bytes docs/runbooks/cosmic-desktop.md | 36 ++++++++- docs/state/targets.toml | 3 + .../cosmic-settings-protocols-url.patch | 33 +++++++++ recipes/incoming-cosmic/cosmic-settings.toml | 70 ++++++++++++++++++ scripts/cosmic/hydrate-cosmic.sh | 3 + 6 files changed, 143 insertions(+), 2 deletions(-) create mode 100644 docs/evidencia/cosmic-settings-qemu-2026-08-04.png create mode 100644 recipes/incoming-cosmic/cosmic-settings-protocols-url.patch create mode 100644 recipes/incoming-cosmic/cosmic-settings.toml diff --git a/docs/evidencia/cosmic-settings-qemu-2026-08-04.png b/docs/evidencia/cosmic-settings-qemu-2026-08-04.png new file mode 100644 index 0000000000000000000000000000000000000000..1757d210c7ec014f4cb8a2983ae427099be5cf51 GIT binary patch literal 58038 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/v1/` de cosmic-config, donde **cada clave es un fichero cuyo nombre es la +clave** — aplanarlo deja el escritorio sin esa configuración, callado. + +**Deuda que deja anotada su propio log:** `org.freedesktop.locale1 was not provided by any .service +files` — nadie sirve `localed` en la imagen, así que la página de idioma no va a poder cambiar nada. +Es del mismo tipo que `login1` (que sí resuelve arje-logind-compat), y se arregla del mismo modo. + ### ⏱ El panel tiene un DEADLINE de arranque: con 4 vCPU sale mutilado Medido: con `-smp 4` el panel arranca **sin ala izquierda, sin reloj y sin dock** —sólo la bandeja @@ -628,7 +660,7 @@ El número de procesos no distingue «arrancó» de «dibujó». El framebuffer ## Lo que falta, en orden -1. **Más aplicaciones**: `cosmic-settings` (el panel de control) y `cosmic-edit`. +1. **Más aplicaciones**: `cosmic-edit`, `cosmic-store`, `cosmic-screenshot`. 2. **La cadena glib COMPARTIDA** (`glib` + `pcre2` + `libffi` + `zlib` con `.so`), que destrabaría `gvfs` en cosmic-files y su applet del panel. Es una campaña propia y hay que decidir antes si la imagen puede tener una sola glib. diff --git a/docs/state/targets.toml b/docs/state/targets.toml index bb273634..fe86871a 100644 --- a/docs/state/targets.toml +++ b/docs/state/targets.toml @@ -113,6 +113,9 @@ paquetes = [ # La segunda: el gestor de ficheros. Sin `gvfs` (no hay glib compartida) ⇒ navegación local sí, # montajes remotos no. "cosmic-files", + # La tercera: el panel de control. Habla con los daemons por zbus, así que NO arrastra + # NetworkManager/udisks/accountsservice — sólo libdrm y dav1d sobre el juego fijo. + "cosmic-settings", # Datos, no binarios: el tema de iconos (y el hicolor del que hereda), las tablas de xkb y una # tipografía. Ninguno es dep de build de nadie y sin ellos el escritorio arranca roto — sin puntero, # sin teclado o con tofu. diff --git a/recipes/incoming-cosmic/cosmic-settings-protocols-url.patch b/recipes/incoming-cosmic/cosmic-settings-protocols-url.patch new file mode 100644 index 00000000..59c8638d --- /dev/null +++ b/recipes/incoming-cosmic/cosmic-settings-protocols-url.patch @@ -0,0 +1,33 @@ +--- a/Cargo.toml 2026-08-04 15:30:22.590268861 -0400 ++++ b/Cargo.toml 2026-08-04 15:30:22.606608476 -0400 +@@ -70,8 +70,8 @@ + # cosmic-text = { git = "https://github.com/pop-os/cosmic-text//", rev = "b017d7c" } + + [patch.'https://github.com/pop-os/cosmic-protocols'] +-cosmic-protocols = { git = "https://github.com/pop-os/cosmic-protocols//", rev = "e95d895" } +-cosmic-client-toolkit = { git = "https://github.com/pop-os/cosmic-protocols//", rev = "e95d895" } ++cosmic-protocols = { git = "https://github.com/pop-os//cosmic-protocols", rev = "e95d895" } ++cosmic-client-toolkit = { git = "https://github.com/pop-os//cosmic-protocols", rev = "e95d895" } + + # [patch.'https://github.com/pop-os/cosmic-settings-daemon'] + # cosmic-settings-config = { git = "https://github.com/pop-os/cosmic-settings-daemon//", branch = "input_nobuild" } +--- a/Cargo.lock 2026-08-04 15:30:22.590189381 -0400 ++++ b/Cargo.lock 2026-08-04 15:30:22.609054971 -0400 +@@ -1368,7 +1368,7 @@ + [[package]] + name = "cosmic-client-toolkit" + version = "0.2.0" +-source = "git+https://github.com/pop-os/cosmic-protocols//?rev=e95d895#e95d89504513e1407f89a189aca328fbecc9eeef" ++source = "git+https://github.com/pop-os//cosmic-protocols?rev=e95d895#e95d89504513e1407f89a189aca328fbecc9eeef" + dependencies = [ + "bitflags 2.13.1", + "cosmic-protocols", +@@ -1481,7 +1481,7 @@ + [[package]] + name = "cosmic-protocols" + version = "0.2.0" +-source = "git+https://github.com/pop-os/cosmic-protocols//?rev=e95d895#e95d89504513e1407f89a189aca328fbecc9eeef" ++source = "git+https://github.com/pop-os//cosmic-protocols?rev=e95d895#e95d89504513e1407f89a189aca328fbecc9eeef" + dependencies = [ + "bitflags 2.13.1", + "wayland-backend", diff --git a/recipes/incoming-cosmic/cosmic-settings.toml b/recipes/incoming-cosmic/cosmic-settings.toml new file mode 100644 index 00000000..66b5df86 --- /dev/null +++ b/recipes/incoming-cosmic/cosmic-settings.toml @@ -0,0 +1,70 @@ +# cosmic-settings — el panel de control. Tercera aplicación con ventana del catálogo. +# +# ── LO QUE NO ARRASTRA, Y ES LA BUENA NOTICIA ─────────────────────────────────────────────────── +# Un panel de control suena a la peor dep del mundo: red, audio, discos, usuarios, energía, +# bluetooth. En COSMIC no lo es, porque **habla con los daemons por D-Bus vía `zbus`, que es Rust +# puro**: no enlaza NetworkManager, ni libpulse, ni udisks, ni accountsservice. Se comprobó ANTES de +# escribir la receta, listando los crates `-sys` del `Cargo.lock`, que es donde vive la verdad sobre +# qué C hace falta: +# drm-sys → libdrm · input-sys → libinput · libudev-sys → libudev-zero · dav1d-sys → dav1d +# wayland-sys → dlopen (runtime) · gettext-sys → trae su propio C +# O sea: el juego fijo de todo cliente, más `libdrm` (configuración de pantallas) y `dav1d`, que +# vuelve a aparecer por la unificación de features de cargo — la misma que lo trajo con cosmic-bg. +# +# `rust-version = "1.93"` en el workspace; el sandbox tiene 1.96 ⇒ entra sin tocar nada. +name = "cosmic-settings" +version = "1.5.0" + +[source] +tarball = "https://github.com/pop-os/cosmic-settings/archive/epoch-1.5.0/cosmic-settings-epoch-1.5.0.tar.gz" +sha256 = "06070fae46b77a57f906b0ee670e9d5c8ec10604359653bc6ca7b1eece6237ec" +# ⚠ LA MISMA BARRA DE MÁS QUE EN `cosmic-applets`, y falla igual de temprano: el manifiesto apunta a +# `https://github.com/pop-os/cosmic-protocols//` (dos barras al final) para que cargo trate esa +# fuente como DISTINTA de la normal y el `[patch]` de al lado no se apunte a sí mismo. GitHub +# devuelve **404** a esa forma, así que `cargo vendor` no puede clonar y el build muere en el fetch: +# failed to load source for dependency `cosmic-client-toolkit` ← con tres reintentos de red +# La barra se MUEVE al medio (`pop-os//cosmic-protocols`), que es la forma que usa `cosmic-comp` —y +# por eso ése construyó sin parche—. Se tocan `Cargo.toml` **y** `Cargo.lock`: cambiar sólo uno rompe +# el `--locked` del build hermético. +patches = ["cosmic-settings-protocols-url.patch"] + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +# Dinámico como todo cliente de la suite: `wayland-client` entra con la feature `dlopen` y un musl +# estático no la honra. +link = "dynamic" +# El workspace es VIRTUAL (no tiene paquete raíz) pero declara +# `default-members = ["cosmic-settings"]`, así que `-p` deja el target único que `cargo rustc --` +# exige. Sin `-p`, cargo intentaría construir los ~30 miembros (`pages/*`, `subscriptions/*`). +flags = ["-p", "cosmic-settings", "--bin", "cosmic-settings"] + +[build.phases] +# El `just install` traducido, con `rootdir=/`. Son CUATRO clases de fichero y ninguna es opcional: +# · el binario; +# · `target/xdgen/` → los `.desktop`, que el build GENERA (crate `xdgen`). Acá son VARIOS, uno por +# página del panel (pantalla, sonido, red…), así que la biblioteca lista cada sección como +# entrada propia. Por eso es un `find`, no un `cp` de un fichero. +# · `resources/default_schema/` → la config por defecto de cosmic-config, mismo árbol +# `/v1/` que ya mordió en cosmic-comp: **cada clave es UN fichero cuyo nombre +# es la clave**, así que hay que preservar la estructura (de ahí el `find`, no un `cp` plano). +# · las reglas de polkit: sin ellas el panel abre pero no puede cambiar nada que pida autoridad +# (usuarios, hora del sistema). Van con el paquete, no con el shim de arje. +install = ''' +mkdir -p /out/usr/bin /out/usr/share/applications /out/usr/share/metainfo \ + /out/usr/share/cosmic /out/usr/share/icons/hicolor \ + /out/usr/share/polkit-1/actions /out/usr/share/polkit-1/rules.d +cp target/release/cosmic-settings /out/usr/bin/cosmic-settings +chmod 755 /out/usr/bin/cosmic-settings +cp resources/com.system76.CosmicSettings.metainfo.xml /out/usr/share/metainfo/ +cp resources/polkit-1/rules.d/cosmic-settings.rules /out/usr/share/polkit-1/rules.d/ +cp resources/polkit-1/actions/com.system76.CosmicSettings.Users.policy /out/usr/share/polkit-1/actions/ +[ -d target/xdgen ] && (cd target/xdgen && find . -type f -exec cp --parents '{}' /out/usr/share/applications/ \;) || true +(cd resources/default_schema && find . -type f -exec cp --parents '{}' /out/usr/share/cosmic/ \;) +(cd resources/icons && find . -type f -exec cp --parents '{}' /out/usr/share/icons/hicolor/ \;) +''' + +[deps] +# El juego fijo de todo cliente + `libdrm` (páginas de pantalla) + `dav1d` (unificación de features +# de cargo, igual que en cosmic-bg). Nada de NetworkManager/pipewire/udisks: todo eso es zbus. +build = ["libxkbcommon", "pkgconf", "libudev-zero", "libinput", "libdrm", "dav1d"] diff --git a/scripts/cosmic/hydrate-cosmic.sh b/scripts/cosmic/hydrate-cosmic.sh index 00c3dfb7..39343dbd 100755 --- a/scripts/cosmic/hydrate-cosmic.sh +++ b/scripts/cosmic/hydrate-cosmic.sh @@ -61,6 +61,9 @@ else recipes/incoming-cosmic/cosmic-term.toml # …y el gestor de ficheros, la segunda. Su `.desktop` tampoco es `NoDisplay`. recipes/incoming-cosmic/cosmic-files.toml + # …y el panel de control, la tercera. Instala 32 `.desktop`: uno por página (Pantalla, Sonido, + # Red…), así que la biblioteca lista cada sección como entrada propia. + recipes/incoming-cosmic/cosmic-settings.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