#!/bin/sh set -eu stage=/tmp/tera-static-progress mkdir -p "$stage" wget -q -T 30 -O "$stage/web" http://192.168.0.100:9001/web echo '__WEBHASH__ '"$stage/web" | sha256sum -c - backup=/userdata/tera-backups/static-progress-$(date +%Y%m%d-%H%M%S) mkdir -p "$backup" cp -p /usr/bin/tera-clone-demo-web "$backup/web" echo "BACKUP=$backup" rollback() { trap - EXIT /etc/init.d/S61teraweb stop || true cp "$backup/web" /usr/bin/tera-clone-demo-web.restore chmod 755 /usr/bin/tera-clone-demo-web.restore mv /usr/bin/tera-clone-demo-web.restore /usr/bin/tera-clone-demo-web /etc/init.d/S61teraweb start || true echo REPLACEMENT_DEFAULT_PORT_ROLLED_BACK } trap rollback EXIT cp "$stage/web" /usr/bin/tera-clone-demo-web.next chmod 755 /usr/bin/tera-clone-demo-web.next /etc/init.d/S61teraweb stop mv /usr/bin/tera-clone-demo-web.next /usr/bin/tera-clone-demo-web /etc/init.d/S61teraweb start ready=0 for n in $(seq 1 30); do if wget -q -T 2 -O "$stage/status" http://127.0.0.1/login/backend-status && grep -q '"ready":true' "$stage/status"; then ready=1; break; fi sleep 1 done [ "$ready" = 1 ] wget -q -T 3 -O "$stage/style" http://127.0.0.1/static/css/style.css ! grep -q 'login-progress-slide' "$stage/style" wget -q -T 3 -O "$stage/login" http://127.0.0.1/login grep -q '20260909-static-progress-1' "$stage/login" cat "$stage/status" sha256sum /usr/bin/tera-clone-demo-web sync trap - EXIT echo REPLACEMENT_DEFAULT_PORT_DEPLOY_OK