This commit is contained in:
David Schroeder
2026-07-28 22:09:13 -05:00
parent 247c4ddace
commit 3bea3baa88
12 changed files with 236 additions and 49 deletions
+33 -2
View File
@@ -687,6 +687,8 @@ INSTALL_OMSA() {
VIRTIO_STABLE_CHECKED=0
VIRTIO_STABLE_STATUS='unknown'
VIRTIO_STABLE_FILE=''
VIRTIO_STABLE_CACHE_FILE="${VIRTIO_STABLE_CACHE_FILE:-/var/cache/ta-proxmenu/virtio-stable}"
VIRTIO_STABLE_CACHE_SECONDS=86400
VIRTIO_LAST_FILE=''
DLDIR=''
VIRTIO_SELECTED_STORAGE=''
@@ -784,8 +786,12 @@ TAPM_REFRESH_VIRTIO_LOCAL_STATUS() {
TAPM_CHECK_VIRTIO_STABLE() {
local force="${1:-0}"
local cached_at=''
local cached_filename=''
local effective_url
local now
local source_filename
local cache_temp
if (( VIRTIO_STABLE_CHECKED == 1 && force == 0 )); then
return
@@ -794,6 +800,19 @@ TAPM_CHECK_VIRTIO_STABLE() {
VIRTIO_STABLE_CHECKED=1
VIRTIO_STABLE_STATUS='unavailable'
VIRTIO_STABLE_FILE=''
now="$(date +%s)"
if (( force == 0 )) && [[ -r "$VIRTIO_STABLE_CACHE_FILE" ]]; then
IFS='|' read -r cached_at cached_filename <"$VIRTIO_STABLE_CACHE_FILE"
if TAPM_VIRTIO_CACHE_VALID \
"$cached_at" "$now" "$VIRTIO_STABLE_CACHE_SECONDS" "$cached_filename"; then
VIRTIO_STABLE_FILE="$(
TAPM_VIRTIO_LABELED_FILENAME "$cached_filename" latest
)" || return 1
TAPM_REFRESH_VIRTIO_LOCAL_STATUS
return 0
fi
fi
effective_url="$(
curl --fail --location --silent --show-error --head \
@@ -806,6 +825,18 @@ TAPM_CHECK_VIRTIO_STABLE() {
return 1
VIRTIO_STABLE_FILE="$(TAPM_VIRTIO_LABELED_FILENAME "$source_filename" latest)" ||
return 1
if mkdir -p "$(dirname "$VIRTIO_STABLE_CACHE_FILE")" 2>/dev/null; then
cache_temp="$(mktemp "${VIRTIO_STABLE_CACHE_FILE}.tmp.XXXXXX")" || cache_temp=''
if [[ -n "$cache_temp" ]]; then
if printf '%s|%s\n' "$now" "$source_filename" >"$cache_temp" &&
chmod 0644 "$cache_temp"; then
mv -f "$cache_temp" "$VIRTIO_STABLE_CACHE_FILE" ||
rm -f "$cache_temp"
else
rm -f "$cache_temp"
fi
fi
fi
TAPM_REFRESH_VIRTIO_LOCAL_STATUS
}
@@ -1000,7 +1031,7 @@ VIRTIO_MENU() {
echo -en "\n${idsCL[LightCyan]}Checking the current stable VirtIO release...${idsCL[Default]} "
TAPM_REFRESH_ISO_STORAGES || true
TAPM_CHECK_VIRTIO_STABLE 1 || true
TAPM_CHECK_VIRTIO_STABLE 0 || true
echo
while true; do
@@ -1492,7 +1523,7 @@ INSTALL_KEEPALIVE() {
UPDATE_CACHE_DIR='/var/cache/ta-proxmenu'
UPDATE_CACHE_FILE="${UPDATE_CACHE_DIR}/update-status"
UPDATE_CACHE_SECONDS=14400
UPDATE_CACHE_SECONDS=86400
UPDATE_CHECK_PID=''
UPDATE_STATUS='unknown'
UPDATE_REMOTE_COMMIT=''