mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-07-22 05:34:06 +03:00
Compare commits
3 Commits
fix/return
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe01d670f6 | ||
|
|
e0df8a80bf | ||
|
|
3f7283ab66 |
@@ -5140,7 +5140,10 @@ EOF
|
||||
echo -en "${YW}Select option [1-${max_option}] (default: 1, auto-remove in 60s): ${CL}"
|
||||
|
||||
local response=""
|
||||
if read -t 60 -r response; then
|
||||
local read_rc
|
||||
read -t 60 -r response
|
||||
read_rc=$?
|
||||
if [[ $read_rc -eq 0 ]]; then
|
||||
case "${response:-1}" in
|
||||
1)
|
||||
# Remove container
|
||||
@@ -5359,13 +5362,20 @@ EOF
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
else
|
||||
elif [[ $read_rc -gt 128 ]]; then
|
||||
# Timeout - auto-remove
|
||||
echo ""
|
||||
msg_info "No response - removing container ${CTID}"
|
||||
pct stop "$CTID" &>/dev/null || true
|
||||
pct destroy "$CTID" &>/dev/null || true
|
||||
msg_ok "Container ${CTID} removed"
|
||||
else
|
||||
# read itself failed (e.g. broken/closed stdin, I/O error) rather than
|
||||
# timing out - don't guess and destroy the container on a read we
|
||||
# couldn't actually capture; keep it since that's the reversible choice.
|
||||
echo ""
|
||||
msg_error "Could not read your response (stdin error) - keeping container ${CTID} for safety."
|
||||
msg_error "Remove it manually if not needed: pct destroy ${CTID}"
|
||||
fi
|
||||
|
||||
# Force one final status update attempt after cleanup
|
||||
|
||||
@@ -497,7 +497,10 @@ error_handler() {
|
||||
fi
|
||||
|
||||
local response=""
|
||||
if read -t 60 -r response; then
|
||||
local read_rc
|
||||
read -t 60 -r response
|
||||
read_rc=$?
|
||||
if [[ $read_rc -eq 0 ]]; then
|
||||
if [[ -z "$response" || "$response" =~ ^[Yy]$ ]]; then
|
||||
echo ""
|
||||
if declare -f msg_info >/dev/null 2>&1; then
|
||||
@@ -520,7 +523,7 @@ error_handler() {
|
||||
echo -e "${YW}Container ${CTID} kept for debugging${CL}"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
elif [[ $read_rc -gt 128 ]]; then
|
||||
# Timeout - auto-remove
|
||||
echo ""
|
||||
if declare -f msg_info >/dev/null 2>&1; then
|
||||
@@ -535,6 +538,18 @@ error_handler() {
|
||||
else
|
||||
echo -e "${GN}✔${CL} Container ${CTID} removed"
|
||||
fi
|
||||
else
|
||||
# read itself failed (e.g. broken/closed stdin, I/O error) rather than
|
||||
# timing out - don't guess and destroy the container on a read we
|
||||
# couldn't actually capture; keep it since that's the reversible choice.
|
||||
echo ""
|
||||
if declare -f msg_error >/dev/null 2>&1; then
|
||||
msg_error "Could not read your response (stdin error) - keeping container ${CTID} for safety."
|
||||
msg_error "Remove it manually if not needed: pct destroy ${CTID}"
|
||||
else
|
||||
echo -e "${YW}Could not read your response (stdin error) - keeping container ${CTID} for safety.${CL}"
|
||||
echo -e "${YW}Remove it manually if not needed: pct destroy ${CTID}${CL}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -2689,7 +2689,7 @@ fetch_and_deploy_gh_tag() {
|
||||
|
||||
local tmpdir
|
||||
tmpdir=$(mktemp -d) || return 1
|
||||
trap 'rm -rf "$tmpdir"' RETURN
|
||||
trap 'rm -rf "$tmpdir"; trap - RETURN' RETURN
|
||||
local tarball_url="https://github.com/${repo}/archive/refs/tags/${version}.tar.gz"
|
||||
local filename="${app_lc}-${version}.tar.gz"
|
||||
|
||||
@@ -2866,7 +2866,7 @@ fetch_and_deploy_gl_tag() {
|
||||
|
||||
local tmpdir
|
||||
tmpdir=$(mktemp -d) || return 1
|
||||
trap 'rm -rf "$tmpdir"' RETURN
|
||||
trap 'rm -rf "$tmpdir"; trap - RETURN' RETURN
|
||||
local filename="${app_lc}-${version_safe}.tar.gz"
|
||||
|
||||
msg_info "Fetching GitLab tag: ${app} (${resolved_tag})"
|
||||
@@ -2974,7 +2974,7 @@ check_for_gh_release() {
|
||||
|
||||
local gh_check_json=""
|
||||
gh_check_json=$(mktemp /tmp/tools-gh-check-XXXXXX) || return 73
|
||||
trap 'rm -f "${gh_check_json:-}"' RETURN
|
||||
trap 'rm -f "${gh_check_json:-}"; trap - RETURN' RETURN
|
||||
|
||||
# Build auth header if token is available
|
||||
local header_args=()
|
||||
@@ -3574,7 +3574,7 @@ fetch_and_deploy_codeberg_release() {
|
||||
|
||||
local tmpdir
|
||||
tmpdir=$(mktemp -d) || return 252
|
||||
trap 'rm -rf "$tmpdir"' RETURN
|
||||
trap 'rm -rf "$tmpdir"; trap - RETURN' RETURN
|
||||
|
||||
msg_info "Fetching Codeberg tag: $app ($tag_name)"
|
||||
|
||||
@@ -3616,7 +3616,7 @@ fetch_and_deploy_codeberg_release() {
|
||||
|
||||
local codeberg_rel_json
|
||||
codeberg_rel_json=$(mktemp /tmp/tools-codeberg-rel-XXXXXX) || return 73
|
||||
trap 'rm -f "$codeberg_rel_json"; rm -rf "${tmpdir:-}" "${unpack_tmp:-}"' RETURN
|
||||
trap 'rm -f "$codeberg_rel_json"; rm -rf "${tmpdir:-}" "${unpack_tmp:-}"; trap - RETURN' RETURN
|
||||
|
||||
local attempt=0 success=false resp http_code
|
||||
|
||||
@@ -4113,7 +4113,7 @@ fetch_and_deploy_gh_release() {
|
||||
|
||||
local tmpdir
|
||||
tmpdir=$(mktemp -d) || return 1
|
||||
trap 'rm -rf "$tmpdir" "${unpack_tmp:-}"' RETURN
|
||||
trap 'rm -rf "$tmpdir" "${unpack_tmp:-}"; trap - RETURN' RETURN
|
||||
local filename="" url=""
|
||||
|
||||
msg_info "Fetching GitHub release: $app ($version)"
|
||||
@@ -9218,7 +9218,7 @@ fetch_and_deploy_from_url() {
|
||||
msg_error "Failed to create temporary directory"
|
||||
return 252
|
||||
}
|
||||
trap 'rm -rf "$tmpdir" "${unpack_tmp:-}"' RETURN
|
||||
trap 'rm -rf "$tmpdir" "${unpack_tmp:-}"; trap - RETURN' RETURN
|
||||
|
||||
curl -fsSL -o "$tmpdir/$filename" "$url" || {
|
||||
msg_error "Download failed: $url"
|
||||
@@ -9434,7 +9434,7 @@ check_for_gl_release() {
|
||||
|
||||
local gl_check_json
|
||||
gl_check_json=$(mktemp /tmp/tools-gl-check-XXXXXX) || return 73
|
||||
trap 'rm -f "$gl_check_json"' RETURN
|
||||
trap 'rm -f "$gl_check_json"; trap - RETURN' RETURN
|
||||
|
||||
local repo_encoded
|
||||
repo_encoded=$(printf '%s' "$source" | sed 's|/|%2F|g')
|
||||
@@ -9724,7 +9724,7 @@ fetch_and_deploy_gl_release() {
|
||||
|
||||
local gl_rel_json
|
||||
gl_rel_json=$(mktemp /tmp/tools-gl-rel-XXXXXX) || return 73
|
||||
trap 'rm -f "$gl_rel_json"; rm -rf "${tmpdir:-}" "${unpack_tmp:-}"' RETURN
|
||||
trap 'rm -f "$gl_rel_json"; rm -rf "${tmpdir:-}" "${unpack_tmp:-}"; trap - RETURN' RETURN
|
||||
|
||||
local repo_encoded
|
||||
repo_encoded=$(printf '%s' "$repo" | sed 's|/|%2F|g')
|
||||
|
||||
Reference in New Issue
Block a user