el aviso, enchufado en la caja — y «al día» con cero instalados era una mentira cómoda
Cron horario de root → /usr/local/bin/avisar-actualizaciones, un envoltorio que sólo fija las rutas de la caja y llama al guion del repo. La lógica no se copia: comprobado en vivo que arreglar el guion en el clon cambia la salida del cron sin volver a desplegar nada. ⚠ La primera corrida real destapó un defecto del aviso: con la DB de instalados vacía decía «al día». Es verdad y no dice nada — peor, se lee como «comprobado y correcto» cuando lo cierto es que no había NADA que comprobar. Un aviso que suena igual cuando vigila que cuando no vigila nada es cómo se deja de mirar un aviso. Ahora distingue el caso y lo nombra. Control en la caja con una DB de juguete (un zsh a otro hash): grita «1 con novedad · hash distinto» y en la segunda corrida calla. Y dos piezas que faltaban allá: /var/lib/hammer/trust/release.ed25519.pub (el almacén de confianza por defecto de la CLI, que no existía ⇒ ahora install/outdated verifican sin pasar --trust) y /usr/local/bin/takana con el arreglo del §5.5. Ojo: el PATH de la caja no incluye /usr/local/bin, así que un `takana` a secas sigue siendo el del store; el cron usa rutas absolutas.
This commit is contained in:
@@ -68,10 +68,20 @@ AHORA="$(huella "$NUEVO")"
|
||||
mv "$NUEVO" "$STATE"
|
||||
|
||||
N=$(python3 -c 'import json,sys; print(len(json.load(open(sys.argv[1])).get("novedades",[])))' "$STATE")
|
||||
INSTALADOS=$(python3 -c 'import json,sys; print(json.load(open(sys.argv[1])).get("instalados",0))' "$STATE")
|
||||
SELLO="$(date -u +%FT%TZ)"
|
||||
|
||||
# ⚠ «Al día» con CERO paquetes instalados es verdad y no dice nada — peor: se lee como «comprobado
|
||||
# y correcto» cuando lo cierto es que no había nada que comprobar. Medido la primera vez que corrió
|
||||
# en la caja, cuya DB de instalados ni existe. Un aviso que suena igual cuando vigila que cuando no
|
||||
# vigila nada es exactamente cómo se deja de mirar un aviso.
|
||||
if [ "$INSTALADOS" = "0" ]; then
|
||||
echo "$SELLO · nada instalado por takana en esta máquina (DB $DB) — no hay qué comparar contra $REPO"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$N" = "0" ]; then
|
||||
echo "$SELLO · al día contra $REPO"
|
||||
echo "$SELLO · al día contra $REPO ($INSTALADOS paquete(s) comprobado(s))"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user