From 2eb8388fc72c8a8d0288279d75e4ac19ebe57d00 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 7 May 2025 13:43:15 +0200 Subject: [PATCH] fixes --- ct/create_lxc.sh | 1 + misc/alpine-install.func | 179 ++++++++++++++++++++------------------- misc/build.func | 2 + misc/core.func | 142 ++++++++++++++++--------------- misc/install.func | 1 + 5 files changed, 170 insertions(+), 155 deletions(-) diff --git a/ct/create_lxc.sh b/ct/create_lxc.sh index d08923e..275072b 100644 --- a/ct/create_lxc.sh +++ b/ct/create_lxc.sh @@ -10,6 +10,7 @@ # if [ "$VERBOSE" == "yes" ]; then set -x; fi source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/core.func) +load_functions # This function sets color variables for formatting output in the terminal # Colors diff --git a/misc/alpine-install.func b/misc/alpine-install.func index 4fcc385..4bbb156 100644 --- a/misc/alpine-install.func +++ b/misc/alpine-install.func @@ -4,37 +4,40 @@ # License: MIT # https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/core.func) +load_functions + # This function sets color variables for formatting output in the terminal -color() { - # Colors - YW=$(echo "\033[33m") - YWB=$(echo "\033[93m") - BL=$(echo "\033[36m") - RD=$(echo "\033[01;31m") - GN=$(echo "\033[1;92m") +# color() { +# # Colors +# YW=$(echo "\033[33m") +# YWB=$(echo "\033[93m") +# BL=$(echo "\033[36m") +# RD=$(echo "\033[01;31m") +# GN=$(echo "\033[1;92m") - # Formatting - CL=$(echo "\033[m") - BFR="\\r\\033[K" - BOLD=$(echo "\033[1m") - TAB=" " +# # Formatting +# CL=$(echo "\033[m") +# BFR="\\r\\033[K" +# BOLD=$(echo "\033[1m") +# TAB=" " - # System - RETRY_NUM=10 - RETRY_EVERY=3 - i=$RETRY_NUM +# # System +# RETRY_NUM=10 +# RETRY_EVERY=3 +# i=$RETRY_NUM - # Icons - CM="${TAB}✔️${TAB}${CL}" - CROSS="${TAB}✖️${TAB}${CL}" - INFO="${TAB}💡${TAB}${CL}" - NETWORK="${TAB}📡${TAB}${CL}" - OS="${TAB}🖥️${TAB}${CL}" - OSVERSION="${TAB}🌟${TAB}${CL}" - HOSTNAME="${TAB}🏠${TAB}${CL}" - GATEWAY="${TAB}🌐${TAB}${CL}" - DEFAULT="${TAB}⚙️${TAB}${CL}" -} +# # Icons +# CM="${TAB}✔️${TAB}${CL}" +# CROSS="${TAB}✖️${TAB}${CL}" +# INFO="${TAB}💡${TAB}${CL}" +# NETWORK="${TAB}📡${TAB}${CL}" +# OS="${TAB}🖥️${TAB}${CL}" +# OSVERSION="${TAB}🌟${TAB}${CL}" +# HOSTNAME="${TAB}🏠${TAB}${CL}" +# GATEWAY="${TAB}🌐${TAB}${CL}" +# DEFAULT="${TAB}⚙️${TAB}${CL}" +# } # Function to set STD mode based on verbosity set_std_mode() { @@ -78,78 +81,78 @@ error_handler() { [[ -n "${SPINNER_PID:-}" ]] && kill "$SPINNER_PID" &>/dev/null || true } -# This function displays an informational message with logging support. -declare -A MSG_INFO_SHOWN -SPINNER_ACTIVE=0 -SPINNER_PID="" -SPINNER_MSG="" +# # This function displays an informational message with logging support. +# declare -A MSG_INFO_SHOWN +# SPINNER_ACTIVE=0 +# SPINNER_PID="" +# SPINNER_MSG="" -trap 'stop_spinner' EXIT INT TERM HUP +# trap 'stop_spinner' EXIT INT TERM HUP -start_spinner() { - local msg="$1" - local frames=(⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏) - local spin_i=0 - local interval=0.1 +# start_spinner() { +# local msg="$1" +# local frames=(⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏) +# local spin_i=0 +# local interval=0.1 - SPINNER_MSG="$msg" - printf "\r\e[2K" >&2 +# SPINNER_MSG="$msg" +# printf "\r\e[2K" >&2 - { - while [[ "$SPINNER_ACTIVE" -eq 1 ]]; do - printf "\r\e[2K%s %b" "${frames[spin_i]}" "${YW}${SPINNER_MSG}${CL}" >&2 - spin_i=$(((spin_i + 1) % ${#frames[@]})) - sleep "$interval" - done - } & +# { +# while [[ "$SPINNER_ACTIVE" -eq 1 ]]; do +# printf "\r\e[2K%s %b" "${frames[spin_i]}" "${YW}${SPINNER_MSG}${CL}" >&2 +# spin_i=$(((spin_i + 1) % ${#frames[@]})) +# sleep "$interval" +# done +# } & - SPINNER_PID=$! - disown "$SPINNER_PID" -} +# SPINNER_PID=$! +# disown "$SPINNER_PID" +# } -stop_spinner() { - if [[ ${SPINNER_PID+v} && -n "$SPINNER_PID" ]] && kill -0 "$SPINNER_PID" 2>/dev/null; then - kill "$SPINNER_PID" 2>/dev/null - sleep 0.1 - kill -0 "$SPINNER_PID" 2>/dev/null && kill -9 "$SPINNER_PID" 2>/dev/null - wait "$SPINNER_PID" 2>/dev/null || true - fi - SPINNER_ACTIVE=0 - unset SPINNER_PID -} +# stop_spinner() { +# if [[ ${SPINNER_PID+v} && -n "$SPINNER_PID" ]] && kill -0 "$SPINNER_PID" 2>/dev/null; then +# kill "$SPINNER_PID" 2>/dev/null +# sleep 0.1 +# kill -0 "$SPINNER_PID" 2>/dev/null && kill -9 "$SPINNER_PID" 2>/dev/null +# wait "$SPINNER_PID" 2>/dev/null || true +# fi +# SPINNER_ACTIVE=0 +# unset SPINNER_PID +# } -spinner_guard() { - if [[ "$SPINNER_ACTIVE" -eq 1 ]] && [[ -n "$SPINNER_PID" ]]; then - kill "$SPINNER_PID" 2>/dev/null - wait "$SPINNER_PID" 2>/dev/null || true - SPINNER_ACTIVE=0 - unset SPINNER_PID - fi -} +# spinner_guard() { +# if [[ "$SPINNER_ACTIVE" -eq 1 ]] && [[ -n "$SPINNER_PID" ]]; then +# kill "$SPINNER_PID" 2>/dev/null +# wait "$SPINNER_PID" 2>/dev/null || true +# SPINNER_ACTIVE=0 +# unset SPINNER_PID +# fi +# } -msg_info() { - local msg="$1" - [[ -n "${MSG_INFO_SHOWN["$msg"]+x}" ]] && return - MSG_INFO_SHOWN["$msg"]=1 +# msg_info() { +# local msg="$1" +# [[ -n "${MSG_INFO_SHOWN["$msg"]+x}" ]] && return +# MSG_INFO_SHOWN["$msg"]=1 - spinner_guard - SPINNER_ACTIVE=1 - start_spinner "$msg" -} +# spinner_guard +# SPINNER_ACTIVE=1 +# start_spinner "$msg" +# } -msg_ok() { - local msg="$1" - stop_spinner - printf "\r\e[2K%s %b\n" "${CM}" "${GN}${msg}${CL}" >&2 - unset MSG_INFO_SHOWN["$msg"] -} +# msg_ok() { +# local msg="$1" +# stop_spinner +# printf "\r\e[2K%s %b\n" "${CM}" "${GN}${msg}${CL}" >&2 +# unset MSG_INFO_SHOWN["$msg"] +# } -msg_error() { - stop_spinner - local msg="$1" - printf "\r\e[2K%s %b\n" "${CROSS}" "${RD}${msg}${CL}" >&2 - #log_message "ERROR" "$msg" -} +# msg_error() { +# stop_spinner +# local msg="$1" +# printf "\r\e[2K%s %b\n" "${CROSS}" "${RD}${msg}${CL}" >&2 +# #log_message "ERROR" "$msg" +# } # This function sets up the Container OS by generating the locale, setting the timezone, and checking the network connection setting_up_container() { diff --git a/misc/build.func b/misc/build.func index 778cfb1..6a254cd 100644 --- a/misc/build.func +++ b/misc/build.func @@ -15,7 +15,9 @@ variables() { } source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/api.func) + source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/core.func) +color # # This function sets various color variables using ANSI escape codes for formatting text in the terminal. # color() { diff --git a/misc/core.func b/misc/core.func index 9f63c26..5bede12 100644 --- a/misc/core.func +++ b/misc/core.func @@ -1,6 +1,14 @@ # Copyright (c) 2021-2025 community-scripts ORG # License: MIT | https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/LICENSE +load_functions() { + [[ -n "${__FUNCTIONS_LOADED:-}" ]] && return + __FUNCTIONS_LOADED=1 + color + # add more + +} + # This function sets various color variables using ANSI escape codes for formatting text in the terminal. color() { # Colors @@ -117,77 +125,77 @@ msg_error() { printf "\r\e[2K%s %b\n" "${CROSS}" "${RD}${msg}${CL}" >&2 } -shell_check() { - if [[ "$(basename "$SHELL")" != "bash" ]]; then - clear - msg_error "Your default shell is currently not set to Bash. To use these scripts, please switch to the Bash shell." - echo -e "\nExiting..." - sleep 2 - exit - fi -} +# shell_check() { +# if [[ "$(basename "$SHELL")" != "bash" ]]; then +# clear +# msg_error "Your default shell is currently not set to Bash. To use these scripts, please switch to the Bash shell." +# echo -e "\nExiting..." +# sleep 2 +# exit +# fi +# } -root_check() { - if [[ "$(id -u)" -ne 0 || $(ps -o comm= -p $PPID) == "sudo" ]]; then - clear - msg_error "Please run this script as root." - echo -e "\nExiting..." - sleep 2 - exit - fi -} +# root_check() { +# if [[ "$(id -u)" -ne 0 || $(ps -o comm= -p $PPID) == "sudo" ]]; then +# clear +# msg_error "Please run this script as root." +# echo -e "\nExiting..." +# sleep 2 +# exit +# fi +# } -pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-9](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit - fi -} +# pve_check() { +# if ! pveversion | grep -Eq "pve-manager/8\.[1-9](\.[0-9]+)*"; then +# msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" +# echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." +# echo -e "Exiting..." +# sleep 2 +# exit +# fi +# } -arch_check() { - if [ "$(dpkg --print-architecture)" != "amd64" ]; then - echo -e "\n ${INFO}${YWB}This script will not work with PiMox! \n" - echo -e "\n ${YWB}Visit https://github.com/asylumexp/Proxmox for ARM64 support. \n" - echo -e "Exiting..." - sleep 2 - exit - fi -} +# arch_check() { +# if [ "$(dpkg --print-architecture)" != "amd64" ]; then +# echo -e "\n ${INFO}${YWB}This script will not work with PiMox! \n" +# echo -e "\n ${YWB}Visit https://github.com/asylumexp/Proxmox for ARM64 support. \n" +# echo -e "Exiting..." +# sleep 2 +# exit +# fi +# } -ssh_check() { - if command -v pveversion >/dev/null 2>&1; then - if [ -n "${SSH_CLIENT:+x}" ]; then - if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SSH DETECTED" --yesno "It's suggested to use the Proxmox shell instead of SSH, since SSH can create issues while gathering variables. Would you like to proceed with using SSH?" 10 62; then - echo "you've been warned" - else - clear - exit - fi - fi - fi -} +# ssh_check() { +# if command -v pveversion >/dev/null 2>&1; then +# if [ -n "${SSH_CLIENT:+x}" ]; then +# if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SSH DETECTED" --yesno "It's suggested to use the Proxmox shell instead of SSH, since SSH can create issues while gathering variables. Would you like to proceed with using SSH?" 10 62; then +# echo "you've been warned" +# else +# clear +# exit +# fi +# fi +# fi +# } -exit-script() { - clear - echo -e "\n${CROSS}${RD}User exited script${CL}\n" - exit -} +# exit-script() { +# clear +# echo -e "\n${CROSS}${RD}User exited script${CL}\n" +# exit +# } -set_std_mode() { - if [ "$VERB" = "yes" ]; then - STD="" - else - STD="silent" - fi -} +# set_std_mode() { +# if [ "$VERB" = "yes" ]; then +# STD="" +# else +# STD="silent" +# fi +# } -silent() { - if [ "$VERB" = "no" ]; then - "$@" >>"$LOGFILE" 2>&1 - else - "$@" 2>&1 | tee -a "$LOGFILE" - fi -} +# silent() { +# if [ "$VERB" = "no" ]; then +# "$@" >>"$LOGFILE" 2>&1 +# else +# "$@" 2>&1 | tee -a "$LOGFILE" +# fi +# } diff --git a/misc/install.func b/misc/install.func index 4e2eeba..764b030 100644 --- a/misc/install.func +++ b/misc/install.func @@ -6,6 +6,7 @@ # https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/core.func) +load_functions # color() { # # Colors