diff --git a/haini.sh b/haini.sh index 657843c..11343af 100755 --- a/haini.sh +++ b/haini.sh @@ -215,6 +215,27 @@ crear_entorno() { test -f "$ENTORNO/usr/local/share/ca-certificates/ca-sutty.crt" || mv "$ENTORNO/etc/ssl/certs/ca-sutty.crt" "$ENTORNO/usr/local/share/ca-certificates/ca-sutty.crt" } +# Auto-actualizar una vez por hora +actualizar() { + last_update="$(find "$DIR/.git/FETCH_HEAD" -mmin +60 | wc -l)" + + if test ! $last_update -ne 0; then + return + fi + + echo -n "Actualizando haini.sh... " >&2 + if ping -q -c 1 0xacab.org; then + git -C "$DIR" pull --ff-only + + if test "$DIR/.git/FETCH_HEAD" -o "$DIR/.git/ORIG_HEAD"; then + echo "haini.sh se actualizó, por favor volvé a ejecutar el comando" >&2 + exit 0 + fi + else + echo "no se pudo conectar 0xacab.org, intentando la próxima vez." >&2 + fi +} + DEFAULT="sh" case $1 in @@ -246,6 +267,7 @@ else fi fi + actualizar crear_entorno stdin=/dev/stdin correr "${*:-$DEFAULT}" ; salida=$?