plan de apps: la decisión de audio queda tomada — opción 1, con la salvedad de pulseaudio
Se cierra la pregunta abierta de anoche. Ganó promover UNA pipewire al corpus, y el documento pasa a registrar POR QUÉ salió barata (la variante de cosmic ya resolvía todo contra el padre) y por qué pulseaudio quedó afuera (45.712 vs 2.455.600 bytes de `libpulse-mainloop-glib`: la del corpus se traga la glib estática). Queda escrita la regla que decide la próxima promoción: enlazar contra una variante y correr contra otra es legítimo cuando lo que cruza es un SONAME; lo que no se puede es hidratar dos artefactos distintos en la misma ruta.
This commit is contained in:
@@ -33,7 +33,7 @@ Dos columnas, y **la que importa es la segunda**:
|
||||
|
||||
| app | faltan | muros | veredicto |
|
||||
|---|---:|---|---|
|
||||
| **wf-recorder** | 0 | *(ver ⚠ abajo)* | construible hoy **sin audio**: su captura de sonido es pulse o pipewire, y ninguno de los dos se alcanza desde el corpus. |
|
||||
| ~~wf-recorder~~ | — | — | ✅ **SELLADA 2026-09-03** (b3:25caa359), con audio. Se destrabó al promover pipewire al corpus. Sólo en `escritorio-sway`: captura por `wlr-screencopy` y KWin/mutter no lo implementan. |
|
||||
| **imv** | 7 | — | barato: los 7 son cargadores de formato opcionales (heif, jxl, freeimage…). Visor de imágenes. |
|
||||
| **zathura** | 8 | — | lector de PDF; `girara` es su propia lib y ya usa GTK4 en Alpine. |
|
||||
| **mupdf** | 9 | X11 | el X11 es del visor `mupdf-x11`; el motor y `mupdf-gl` no. Requiere mirar. |
|
||||
@@ -66,7 +66,8 @@ Ya chocó dos veces en un día: `mpv` terminó con `--ao=alsa` en vez de su sali
|
||||
(y por eso hubo que dar vuelta `-Dpipewire-alsa` en las tres pipewire, que fue el arreglo correcto
|
||||
pero fue un rodeo), y ahora `wf-recorder` se queda mudo.
|
||||
|
||||
**La decisión que hay que tomar (no es de madrugada):** promover UNA pipewire al corpus. Construye
|
||||
**DECIDIDA Y HECHA el 2026-09-03 — opción 1, con una salvedad medida.** Lo que sigue queda como
|
||||
registro de por qué. La decisión era: promover UNA pipewire al corpus. Construye
|
||||
—el corpus tiene su propia `glib`, `dbus` y `pcre2`— pero el problema no es construirla: es que una
|
||||
imagen que hidrate `corpus/pipewire` **y** la de su cola pondría dos `libpipewire-0.3.so` distintas
|
||||
en la misma ruta, que es la enfermedad de las dos glib. Las salidas posibles, para pensarlas
|
||||
@@ -83,8 +84,32 @@ despierto:
|
||||
3. **Que las apps multimedia vivan en las colas**, una copia por escritorio. Es lo que la estructura
|
||||
empuja hoy y es exactamente lo que no queremos para una app que sirve a las cuatro imágenes.
|
||||
|
||||
Hasta que eso se decida, `wf-recorder` queda **sin escribir**: un grabador de pantalla mudo es
|
||||
justamente la clase de media-cosa que conviene no sellar sin que alguien la haya elegido.
|
||||
### Cómo se resolvió
|
||||
|
||||
Ganó la **opción 1**, y salió barata porque la variante de COSMIC ya resolvía su cierre entero
|
||||
contra el catálogo padre: `recipes/pipewire.toml` sella el MISMO hash que tenía en la cola. Con ella
|
||||
subieron `libsndfile` y `dbus-shared` (duplicados exactos). 9 copias de cola jubiladas, **5
|
||||
rebuilds**.
|
||||
|
||||
Lo que hizo segura la promoción fue una medición, no un argumento: **ningún pipewire enlaza glib**
|
||||
—sus NEEDED son `libdbus-1.so.3`, `libpulse.so.0`, `libsndfile.so.1`— así que `libpipewire-0.3.so`
|
||||
se comparte entre las cuatro imágenes sin repetir el episodio de las dos glib.
|
||||
|
||||
**Y la salvedad, que es la parte que valía la pena medir:** `pulseaudio` NO se promovió.
|
||||
`libpulse-mainloop-glib.so.0.0.6` mide **45.712 bytes** en la variante de GNOME (NEEDED
|
||||
`libglib-2.0.so.0`) y **2.455.600** en la del corpus, que se traga la glib ESTÁTICA. Esa dentro del
|
||||
proceso de gnome-shell —que ya carga la glib sombra dinámica— es el cuadro de colord. Las tres
|
||||
pulseaudio se quedan: son variantes deliberadas. Sin esa salvedad los rebuilds habrían sido 8,
|
||||
incluido `gnome-shell`.
|
||||
|
||||
La regla general que sale de acá, y sirve para la próxima promoción:
|
||||
|
||||
> **Enlazar contra una variante y correr contra otra es legítimo cuando lo que cruza es un SONAME**
|
||||
> (misma ABI). Lo que no se puede es **hidratar dos artefactos distintos en la misma ruta**. Por eso
|
||||
> pipewire se puede compartir y pulseaudio no.
|
||||
|
||||
Consecuencias inmediatas: `mpv` pasó a `-Dpipewire=enabled` (con ALSA detrás, para imágenes sin
|
||||
demonio) y `wf-recorder` se escribió y selló el mismo día.
|
||||
|
||||
## Los dos veredictos que corrigen al ADR
|
||||
|
||||
|
||||
Reference in New Issue
Block a user