cosmic: la calculadora del lanzador ANDA — el stdin de qalc era el stdout
=123*456 → 56088 en el lanzador. libqalculate re-sellado b3:edb8d14d. La causa del «no lee nada de la tubería» no era readline, ni el toolchain, ni la versión: el binario salía DINÁMICO pese a link="static", porque libtool se come el -static que inyecta el harness. Y en un musl dinámico stdin, stdout y stderr se resolvieron por copy relocation a UNA SOLA ranura de BSS compartida —las tres en la misma dirección—, así que fileno(stdin) daba 1: el stdin del programa era el stdout. Eso explica la asimetría que parecía absurda, que qalc -f /dev/stdin funcionara (abre el fd por RUTA, sin tocar el FILE* roto) y qalc leyendo stdin no. Fix: make LDFLAGS="-all-static -no-pie", el mismo par que ya usa libxml2. Con él los tres símbolos vuelven a tener direcciones distintas en .rodata. Regla para el runbook: link="static" en la receta NO garantiza un binario estático — readelf -d y nm -S | grep ' std' lo contestan en dos segundos. Segundo muro: qalc pregunta si activar autocalc antes de leer nada, el plugin le manda la expresión y cierra, la expresión se consume como respuesta y qalc nunca llega a guardar config ⇒ vuelve a preguntar siempre. Se siembra qalc.cfg desde cosmic-start, política de imagen como el color de fondo. Y hay que repetir el -L de los alias de curses en el make: el LDFLAGS del make pisa al del configure. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -157,6 +157,19 @@ RON
|
||||
say "fondo: color liso (el wallpaper por defecto vive en git-lfs y no se empaqueta)"
|
||||
fi
|
||||
|
||||
# ── SEMILLA DE CONFIG DE qalc, SIN LA CUAL LA CALCULADORA DEL LANZADOR NUNCA ANDA ────────────────
|
||||
# En el primer arranque `qalc` hace una PREGUNTA interactiva («¿activar autocalc?») antes de leer
|
||||
# nada. El plugin `calc` de pop-launcher le escribe la expresión y cierra el pipe, así que la
|
||||
# expresión se consume como respuesta, no es un sí/no válido, y qalc **no llega a guardar config** ⇒
|
||||
# la próxima vez vuelve a preguntar. O sea que sin sembrar esto no falla una vez: falla SIEMPRE.
|
||||
# Es política de la imagen, no del paquete —igual que el color de fondo—: una distro de verdad lo
|
||||
# pondría en el esqueleto de /etc/skel.
|
||||
if [ ! -f "$HOME/.config/qalculate/qalc.cfg" ]; then
|
||||
mkdir -p "$HOME/.config/qalculate"
|
||||
printf '[General]\ncalculate_as_you_type=0\n' > "$HOME/.config/qalculate/qalc.cfg"
|
||||
say "qalc: config sembrada (si no, la pregunta de primer arranque se come la cuenta)"
|
||||
fi
|
||||
|
||||
# ── MODO: bare (default) o session ──────────────────────────────────────────────────────────────
|
||||
# `cosmic-session` es el camino de producción, pero HOY no se puede usar: llama a
|
||||
# `cosmic-settings-daemon` con `.expect("failed to start settings daemon")` (src/main.rs:255) y
|
||||
|
||||
Reference in New Issue
Block a user