takana etapa 3b: las 49 invocaciones pasan a ./target/release/takana
Los llamadores EJECUTABLES: scripts/ (incluida toda la granja), los runbooks y CLAUDE.md. Seguro porque la 3a ya garantiza que el worker emite los dos binarios, y porque en farm-lab-sync.sh el cargo build remoto precede a la invocación remota en el mismo script. Verificado: sintaxis de los 49 (bash -n / py_compile — ojo que why-differs-barrido.sh es Python con extensión .sh) y `takana hash` devuelve hash real sobre el store. NO se toca en esta etapa, a propósito: - La variable de entorno HAMMER=. Es interfaz de los scripts entre sí y hay llamadores que la fijan; renombrarla va con la etapa 4. - docs/evidencia/ y los HANDOFF: son REGISTRO de lo que se corrió ese día. Reescribir un comando dentro de una evidencia la falsifica. - docs/state/: es generado, se regenera solo. - Los ADR y los docs de diseño: texto, y `hammer` sigue funcionando. Van con la etapa 5, que es la de churn de texto.
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
set -uo pipefail
|
||||
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"; cd "$ROOT"
|
||||
RFS="${RFS:-work/gnome-rootfs}"; STORE="${STORE:-./store}"; LINK="${LINK:-static}"
|
||||
HAMMER="${HAMMER:-./target/release/hammer}"; KEEP="${KEEP:-0}"
|
||||
HAMMER="${HAMMER:-./target/release/takana}"; KEEP="${KEEP:-0}"
|
||||
# Por defecto se hidratan DOS raíces, no una. accountsservice no es dep de build de gnome-shell —no
|
||||
# aparece en su meson.build ni en su cierre— sino dep de RUNTIME: la capa JS del shell hace
|
||||
# `imports.gi.AccountsService` y gjs resuelve el typelib al arrancar. Todo lo que el shell carga por
|
||||
|
||||
@@ -102,7 +102,7 @@ echo "==> inyectando arje-logind-compat (el login1 del fractal)"
|
||||
if [ -n "${ALC_BIN:-}" ] && [ -x "$ALC_BIN" ]; then
|
||||
install -Dm755 "$ALC_BIN" "$MERGED"/usr/bin/arje-logind-compat
|
||||
echo " ⚠ binario LOCAL (no sellado): $ALC_BIN"
|
||||
elif ALC="${ALC:-store/$(./target/release/hammer --store store hash recipes/arje-logind-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-logind-compat}"; [ -d "$ALC" ]; then
|
||||
elif ALC="${ALC:-store/$(./target/release/takana --store store hash recipes/arje-logind-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-logind-compat}"; [ -d "$ALC" ]; then
|
||||
install -Dm755 "$ALC"/usr/bin/arje-logind-compat "$MERGED"/usr/bin/arje-logind-compat
|
||||
# …y su POLÍTICA D-Bus, que desde 2026-07-30 viaja en el artefacto. Se copia, no se escribe: el
|
||||
# dueño del fichero es el paquete. Ojo — inyectar «sólo el binario» era el bug que destapó la
|
||||
@@ -128,7 +128,7 @@ echo "==> inyectando arje-polkit-compat (el PolicyKit1 del fractal) + su políti
|
||||
# libs-only a propósito (el demonio lo pone arje), así que nadie servía ese nombre y gnome-shell
|
||||
# esperaba 25 s por cada uno.
|
||||
# ⚠ El shim autoriza TODO (postura de sistema confiado ya tomada por arje) — ver su receta.
|
||||
if APC="${APC:-store/$(./target/release/hammer --store store hash recipes/arje-polkit-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-polkit-compat}"; [ -d "$APC" ]; then
|
||||
if APC="${APC:-store/$(./target/release/takana --store store hash recipes/arje-polkit-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-polkit-compat}"; [ -d "$APC" ]; then
|
||||
install -Dm755 "$APC"/usr/bin/arje-polkit-compat "$MERGED"/usr/bin/arje-polkit-compat
|
||||
install -d "$MERGED/usr/share/dbus-1/system.d"
|
||||
cp -a --remove-destination "$APC"/usr/share/dbus-1/system.d/. "$MERGED"/usr/share/dbus-1/system.d/ 2>/dev/null || true
|
||||
|
||||
Reference in New Issue
Block a user