From 1ea7307784a3098c2b0ff55f2b74869088f56ec0 Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 2 Sep 2026 03:28:36 +0000 Subject: [PATCH] release: sync public installer asset install.sh --- install.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 568e0a9..d5c2c1c 100644 --- a/install.sh +++ b/install.sh @@ -103,9 +103,17 @@ while (($#)); do *) die "未知选项:$1";; esac done -die() { printf '\n\033[31mxymediavault installer: %s\033[0m\n' "$*" >&2; [[ -n $INSTALL_LOG ]] && printf '详情日志:%s\n' "$INSTALL_LOG" >&2; exit 1; } +persist_installer_log() { + [[ -n ${INSTALL_LOG:-} && -f $INSTALL_LOG ]] || return 0 + [[ -n ${INSTALL_DIR:-} && $INSTALL_DIR = /* && $INSTALL_DIR != / ]] || return 0 + mkdir -p "$INSTALL_DIR" 2>/dev/null || return 0 + [[ ! -L "$INSTALL_DIR/install.log" ]] || return 0 + cp "$INSTALL_LOG" "$INSTALL_DIR/install.log" 2>/dev/null || true + chmod 600 "$INSTALL_DIR/install.log" 2>/dev/null || true +} +die() { printf '\n\033[31mxymediavault installer: %s\033[0m\n' "$*" >&2; persist_installer_log; [[ -f ${INSTALL_DIR:-}/install.log ]] && printf '详情日志:%s/install.log\n' "$INSTALL_DIR" >&2 || { [[ -n $INSTALL_LOG ]] && printf '详情日志:%s\n' "$INSTALL_LOG" >&2; }; exit 1; } INSTALL_TMP_DIR= -cleanup_installer_tmp() { [[ -z ${INSTALL_TMP_DIR:-} ]] || rm -rf -- "$INSTALL_TMP_DIR"; } +cleanup_installer_tmp() { persist_installer_log; [[ -z ${INSTALL_TMP_DIR:-} ]] || rm -rf -- "$INSTALL_TMP_DIR"; } trap cleanup_installer_tmp EXIT init_installer_log() { local tmp_parent=${TMPDIR:-/tmp} mode