── 1. Se RETIRA incoming-kde/networkmanager.toml ───────────────────────────────────────────────
networkmanager-qt b3:78bbdcda00d758fb3cc3a0be7da6a67395dfbe0e4d55c5d8e5cf8afaf728ff72
plasma-nm b3:496a9ff7794ae5d89ac2842bdfbca38c25c91df37465a049db7cf75ee0041b82
Ayer se promovió NetworkManager al corpus CON WiFi porque la variante de KDE iba con -Dwifi=false,
y quedaron dos. Esto cierra el arco: retirada la de la cola, `networkmanager-qt` resuelve al PADRE
y la distro tiene UNO solo. Consecuencia concreta: **KDE pasa a tener WiFi**, porque su applet
hablaba con un demonio construido sin soporte inalámbrico.
Medido con `yupana radio` antes de borrar: 2 rebuilds (networkmanager-qt, plasma-nm), los dos en
la cola KDE. Y comprobado sobre el ARTEFACTO del corpus que publica lo que nm-qt pide —`libnm.pc`
y `usr/include/libnm`— antes de quitarle el suelo. Los dos sellan.
── 2. upower al corpus: COSMIC dibujaba una batería sin nadie que se la contara ────────────────
libgudev b3:87ca5e73… · udev-pc b3:fa880b5c… (hash IDÉNTICO desde las dos partes ⇒ cache-hit)
upower b3:c82e655ff7011150f21f9413433c518f12c827c52ecf6f9fc3484f75d85c155c
Ayer escribí que esta cadena eran «3 promociones, una de ellas polkit, decisión de arquitectura».
Fui a mirar y polkit SALE de la ecuación con una perilla: la variante de KDE va `-Dpolkit=enabled`
«porque polkit YA está sellada» —cierto EN ESA COLA y falso desde el corpus—, y apagarlo cuesta
poco medido en FUNCIÓN: polkit en upower sólo gobierna las acciones privilegiadas (suspender e
hibernar por org.freedesktop.UPower, además deprecadas: hoy eso lo hace logind). Reportar batería,
carga, tiempo restante y línea de corriente NO pasa por polkit, que es justo lo que COSMIC quiere.
Se corrigió además la frase del comentario heredado que decía `-Dpolkit=enabled` al lado de un flag
que ahora dice `disabled`: una nota que desmiente al código de al lado es peor que no tener nota.
Y se le añadió su [[service]] (el corpus no lo traía; el label/id son los mismos que en GNOME a
propósito: el ULID identifica al SERVICIO, no al artefacto). No mueve el hash.
Comprobadas las NEEDED de upowerd con provee.py: libupower-glib, libffi.so.8, libz.so.1,
libudev.so.1 — las cuatro las publica el corpus y ya estaban en [deps]. Sin NEEDED colgante.
── 3. targets.toml ─────────────────────────────────────────────────────────────────────────────
escritorio-kde servicios += NetworkManager (llegaba por clausura de plasma-nm y NADIE lo
arrancaba: el applet sobre un demonio apagado)
escritorio-cosmic paquetes += upower · servicios += upowerd
⚠ Y se CORRIGE la nota de ayer que decía «NO declarar networkmanager en escritorio-kde porque
plasma-nm ya arrastra la variante de la cola». Ya no hay variante de cola.
66 lines
3.8 KiB
TOML
66 lines
3.8 KiB
TOML
# upower 1.90.10 — **la variante del CORPUS**: el demonio que reporta batería, carga y estado de
|
|
# energía por D-Bus. Es lo que alimenta el indicador de batería de un escritorio.
|
|
#
|
|
# ══ POR QUÉ EXISTE ESTA COPIA (2026-09-13) ═════════════════════════════════════════════════════
|
|
# El barrido de servicios midió que **`escritorio-cosmic` dibuja un indicador de batería y NO tiene
|
|
# `upowerd`** en su clausura: el applet existe y no tiene de dónde leer. La receta vivía en
|
|
# `incoming-kde` y en `incoming-gnome` —las dos inalcanzables desde COSMIC, que es una cola
|
|
# hermana— así que la copia va al corpus, el único sitio desde el que las cuatro imágenes la ven.
|
|
#
|
|
# ══ EL CAMBIO QUE HACE QUE LA CADENA CIERRE: `-Dpolkit=disabled` ═══════════════════════════════
|
|
# La variante de KDE va con `-Dpolkit=enabled` «porque polkit YA está sellada» — cierto **en esa
|
|
# cola**. Desde el corpus, `polkit` NO se alcanza, y promoverlo sería meter un polkit de verdad al
|
|
# lado de `arje-polkit-compat`: una decisión de arquitectura, no un paso de este barrido.
|
|
#
|
|
# Apagarlo cuesta poco y conviene saber QUÉ cuesta: polkit en upower sólo gobierna las acciones
|
|
# PRIVILEGIADAS (suspender/hibernar por `org.freedesktop.UPower`), que además están deprecadas —
|
|
# hoy eso lo hace logind. **Reportar batería, carga, tiempo restante y estado de la línea de
|
|
# corriente no pasa por polkit**, y es exactamente para lo que COSMIC lo quiere. Con esto la cadena
|
|
# es `libgudev` + `udev-pc` + `upower`, y las dos primeras sellan con hash IDÉNTICO desde las dos
|
|
# partes ⇒ entran por cache-hit.
|
|
#
|
|
# ⚠ Hay tres variantes vivas (corpus, kde, gnome) y no colisionan: ninguna imagen hidrata dos.
|
|
# La de GNOME va con introspección (gjs dlopea `libupower-glib.so.3`); ésta no la necesita.
|
|
#
|
|
# Lo que sigue es la documentación de la variante de KDE, de la que ésta es copia.
|
|
name = "upower"
|
|
version = "1.90.10"
|
|
license = "GPL-2.0-or-later"
|
|
|
|
[source]
|
|
tarball = "https://gitlab.freedesktop.org/upower/upower/-/archive/v1.90.10/upower-v1.90.10.tar.gz"
|
|
sha256 = "7fcd51bece2526dbee5170feb3ffd1adab5b0cd023575f1fd119d969b73f4b90"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "dynamic"
|
|
|
|
[build.phases]
|
|
configure = '''
|
|
set -e
|
|
PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output \
|
|
--prefix=/usr --buildtype=release --wrap-mode=nodownload \
|
|
-Ddefault_library=both -Dos_backend=linux -Dintrospection=disabled \
|
|
-Didevice=disabled -Dpolkit=disabled -Dman=false -Dgtk-doc=false \
|
|
-Dudevrulesdir=/usr/lib/udev/rules.d -Dudevhwdbdir=/usr/lib/udev/hwdb.d \
|
|
-Dsystemdsystemunitdir=no -Dc_args=-Wno-error=date-time
|
|
'''
|
|
compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
|
|
install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
|
|
|
|
[deps]
|
|
# Sin las cuatro de introspección: las saca `-Dintrospection=disabled` (ver cabecera).
|
|
build = ["meson", "samurai", "python3", "pkgconf", "gettext-tiny", "glib", "libgudev", "udev-pc", "libudev-zero", "libffi", "pcre2", "zlib-shared", "expat", "dbus-shared"]
|
|
|
|
# El demonio. Mismo `label` e `id` que la variante de GNOME a propósito: es EL MISMO servicio
|
|
# lógico, y el id (ULID) del SDD 30 identifica al servicio, no al artefacto que lo trae. Ninguna
|
|
# imagen hidrata dos upower, así que no hay ambigüedad.
|
|
# ⚠ Declararlo NO lo enciende: falta que el perfil lo habilite. Ver `escritorio-cosmic`.
|
|
[[service]]
|
|
label = "upowerd"
|
|
id = "01HQAR53D4M2NBV8KZTYXFQA24"
|
|
exec = "/usr/libexec/upowerd"
|
|
scope = "system"
|
|
restart = { initial_ms = 500, max_ms = 20000 }
|