vps-setup: patch faltaba en la rama Fedora — tumbaba el stack GUI de GNOME

En Debian `patch` entra de regalo dentro de `build-essential`; al desglosar la rama dnf a
gcc/g++/make sueltos se cayó sin que nadie lo notara. El campo `patches = [...]` de una
receta lo aplica hammer DEL LADO DEL HOST, fuera del sandbox, así que no alcanza con que
el rootfs lo traiga —lo trae, `/usr/bin/patch` está en el alpine de los dos labs— y por
eso el diagnóstico "rootfs laptop ≠ worker" no aplicaba acá.

Medido en dev.gioser.net: `cairo-shared` moría con `spawn patch: No such file or
directory` y detrás caían `pango` y `gtk4`. El stack GUI entero de GNOME por un binario
de 129 KB ausente en el host.

Regla que queda escrita: toda herramienta que hammer invoque HOST-SIDE va en esta lista,
no en `[deps]` de la receta — declararla en la receta re-hashearía cairo y todo GNOME
debajo, para arreglar algo que no es de la receta.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4
This commit is contained in:
Sergio
2026-08-29 19:00:18 +00:00
co-authored by Claude Opus 5
parent ccb3d6af2f
commit dcf80a17a6
+10 -1
View File
@@ -61,7 +61,16 @@ if [ "$PKG" = apt ]; then
else
# Equivalencias Fedora. `build-essential` no existe: gcc/g++/make sueltos.
# uidmap → shadow-utils (trae newuidmap/newgidmap); xz-utils → xz; libssl-dev → openssl-devel.
$DNF install -y -q git gcc gcc-c++ make curl pkgconf-pkg-config openssl-devel \
#
# ⚠ `patch` VA EXPLÍCITO Y NO ES OBVIO (2026-08-29). En Debian entra de regalo dentro de
# `build-essential`; al desglosar a gcc/g++/make sueltos se cayó sin que nadie lo notara. El
# campo `patches = [...]` de una receta lo aplica hammer DEL LADO DEL HOST, fuera del sandbox
# ⇒ no alcanza con que el rootfs lo traiga (lo trae: `/usr/bin/patch` está en el alpine). Sin
# él, `cairo-shared` muere con `spawn patch: No such file or directory` y detrás caen `pango`
# y `gtk4`, o sea el stack GUI entero de GNOME por un binario de 129 KB.
# Regla: toda herramienta que hammer invoque HOST-SIDE va en esta lista, no en `[deps]` de la
# receta — declararla en la receta re-hashearía cairo y todo GNOME debajo para nada.
$DNF install -y -q git gcc gcc-c++ make patch curl pkgconf-pkg-config openssl-devel \
bubblewrap rsync ca-certificates shadow-utils xz tar findutils
fi