Standardize setup messages and simplify install logic
Some checks failed
Bump build.func Revision / bump-revision (push) Has been cancelled
Some checks failed
Bump build.func Revision / bump-revision (push) Has been cancelled
Replaces various install/upgrade messages with standardized 'Setup <package> <version>' and 'msg_ok' calls for consistency. Removes redundant or verbose info/warning messages, simplifies dependency installation logic, and ensures error handling uses '|| true' where appropriate. This improves readability and reduces unnecessary output during package setup.
This commit is contained in:
parent
61e3721c1d
commit
03c9654140
146
misc/tools.func
146
misc/tools.func
@ -2143,16 +2143,14 @@ setup_mariadb() {
|
|||||||
upgrade_package mariadb-server
|
upgrade_package mariadb-server
|
||||||
upgrade_package mariadb-client
|
upgrade_package mariadb-client
|
||||||
else
|
else
|
||||||
msg_info "Upgrading MariaDB $MARIADB_VERSION"
|
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install --only-upgrade -y mariadb-server mariadb-client
|
$STD apt install --only-upgrade -y mariadb-server mariadb-client
|
||||||
cache_installed_version "mariadb" "$MARIADB_VERSION"
|
cache_installed_version "mariadb" "$MARIADB_VERSION"
|
||||||
msg_ok "Upgraded MariaDB $MARIADB_VERSION"
|
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Installing MariaDB $MARIADB_VERSION"
|
msg_info "Setup MariaDB $MARIADB_VERSION"
|
||||||
|
|
||||||
if [[ -n "$CURRENT_VERSION" ]]; then
|
if [[ -n "$CURRENT_VERSION" ]]; then
|
||||||
$STD systemctl stop mariadb >/dev/null 2>&1 || true
|
$STD systemctl stop mariadb >/dev/null 2>&1 || true
|
||||||
@ -2166,21 +2164,15 @@ setup_mariadb() {
|
|||||||
cleanup_old_repo_files "mariadb"
|
cleanup_old_repo_files "mariadb"
|
||||||
|
|
||||||
# Install required dependencies first (MariaDB needs these from main repos)
|
# Install required dependencies first (MariaDB needs these from main repos)
|
||||||
msg_info "Installing MariaDB dependencies"
|
|
||||||
|
|
||||||
local mariadb_deps=()
|
local mariadb_deps=()
|
||||||
for dep in gawk rsync socat libdbi-perl pv; do
|
for dep in gawk rsync socat libdbi-perl pv; do
|
||||||
if apt-cache search "^${dep}$" 2>/dev/null | grep -q .; then
|
if apt-cache search "^${dep}$" 2>/dev/null | grep -q .; then
|
||||||
mariadb_deps+=("$dep")
|
mariadb_deps+=("$dep")
|
||||||
else
|
|
||||||
msg_warn "Package $dep not available, skipping"
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ ${#mariadb_deps[@]} -gt 0 ]]; then
|
if [[ ${#mariadb_deps[@]} -gt 0 ]]; then
|
||||||
if ! $STD apt install -y "${mariadb_deps[@]}" 2>/dev/null; then
|
$STD apt install -y "${mariadb_deps[@]}" 2>/dev/null || true
|
||||||
msg_warn "Some MariaDB dependencies failed to install - continuing anyway"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Use helper function to get fallback suite
|
# Use helper function to get fallback suite
|
||||||
@ -2209,7 +2201,7 @@ setup_mariadb() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cache_installed_version "mariadb" "$MARIADB_VERSION"
|
cache_installed_version "mariadb" "$MARIADB_VERSION"
|
||||||
msg_ok "Installed MariaDB $MARIADB_VERSION"
|
msg_ok "Setup MariaDB $MARIADB_VERSION"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -2265,16 +2257,14 @@ function setup_mongodb() {
|
|||||||
if [[ "$CACHED_VERSION" == "$MONGO_VERSION" ]]; then
|
if [[ "$CACHED_VERSION" == "$MONGO_VERSION" ]]; then
|
||||||
upgrade_package mongodb-org
|
upgrade_package mongodb-org
|
||||||
else
|
else
|
||||||
msg_info "Upgrading MongoDB $MONGO_VERSION"
|
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install --only-upgrade -y mongodb-org
|
$STD apt install --only-upgrade -y mongodb-org
|
||||||
cache_installed_version "mongodb" "$MONGO_VERSION"
|
cache_installed_version "mongodb" "$MONGO_VERSION"
|
||||||
msg_ok "Upgraded MongoDB $MONGO_VERSION"
|
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Installing MongoDB $MONGO_VERSION"
|
msg_info "Setup MongoDB $MONGO_VERSION"
|
||||||
|
|
||||||
if [[ -n "$INSTALLED_VERSION" ]]; then
|
if [[ -n "$INSTALLED_VERSION" ]]; then
|
||||||
$STD systemctl stop mongod || true
|
$STD systemctl stop mongod || true
|
||||||
@ -2317,7 +2307,7 @@ EOF
|
|||||||
$STD systemctl enable mongod
|
$STD systemctl enable mongod
|
||||||
safe_service_restart mongod
|
safe_service_restart mongod
|
||||||
cache_installed_version "mongodb" "$MONGO_VERSION"
|
cache_installed_version "mongodb" "$MONGO_VERSION"
|
||||||
msg_ok "Installed MongoDB $MONGO_VERSION"
|
msg_ok "Setup MongoDB $MONGO_VERSION"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -2344,23 +2334,21 @@ function setup_mysql() {
|
|||||||
if command -v mysql >/dev/null; then
|
if command -v mysql >/dev/null; then
|
||||||
CURRENT_VERSION="$(mysql --version | grep -oP '[0-9]+\.[0-9]+' | head -n1)"
|
CURRENT_VERSION="$(mysql --version | grep -oP '[0-9]+\.[0-9]+' | head -n1)"
|
||||||
if [[ "$CURRENT_VERSION" != "$MYSQL_VERSION" ]]; then
|
if [[ "$CURRENT_VERSION" != "$MYSQL_VERSION" ]]; then
|
||||||
msg_info "MySQL $CURRENT_VERSION will be upgraded to $MYSQL_VERSION"
|
|
||||||
NEED_INSTALL=true
|
NEED_INSTALL=true
|
||||||
else
|
else
|
||||||
if apt list --upgradable 2>/dev/null | grep -q '^mysql-server/'; then
|
if apt list --upgradable 2>/dev/null | grep -q '^mysql-server/'; then
|
||||||
msg_info "MySQL $CURRENT_VERSION available for upgrade"
|
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install --only-upgrade -y mysql-server
|
$STD apt install --only-upgrade -y mysql-server
|
||||||
msg_ok "MySQL upgraded"
|
|
||||||
fi
|
fi
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
msg_info "Setup MySQL $MYSQL_VERSION"
|
|
||||||
NEED_INSTALL=true
|
NEED_INSTALL=true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$NEED_INSTALL" == true ]]; then
|
if [[ "$NEED_INSTALL" == true ]]; then
|
||||||
|
msg_info "Setup MySQL $MYSQL_VERSION"
|
||||||
|
|
||||||
# Cleanup old repository files
|
# Cleanup old repository files
|
||||||
cleanup_old_repo_files "mysql"
|
cleanup_old_repo_files "mysql"
|
||||||
|
|
||||||
@ -2372,7 +2360,6 @@ function setup_mysql() {
|
|||||||
SUITE="$DISTRO_CODENAME"
|
SUITE="$DISTRO_CODENAME"
|
||||||
;;
|
;;
|
||||||
trixie | forky | sid)
|
trixie | forky | sid)
|
||||||
msg_warn "Using MySQL Bookworm packages on Debian ${DISTRO_CODENAME}"
|
|
||||||
SUITE="bookworm"
|
SUITE="bookworm"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -2394,8 +2381,6 @@ function setup_mysql() {
|
|||||||
|
|
||||||
# Handle libaio dependency for Debian Trixie+ (time64 transition)
|
# Handle libaio dependency for Debian Trixie+ (time64 transition)
|
||||||
if [[ "$DISTRO_ID" == "debian" ]] && [[ "$DISTRO_CODENAME" =~ ^(trixie|forky|sid)$ ]]; then
|
if [[ "$DISTRO_ID" == "debian" ]] && [[ "$DISTRO_CODENAME" =~ ^(trixie|forky|sid)$ ]]; then
|
||||||
msg_info "Installing libaio compatibility for Debian ${DISTRO_CODENAME}"
|
|
||||||
|
|
||||||
# Install libaio1t64 if not present
|
# Install libaio1t64 if not present
|
||||||
if ! dpkg -l libaio1t64 2>/dev/null | grep -q "^ii"; then
|
if ! dpkg -l libaio1t64 2>/dev/null | grep -q "^ii"; then
|
||||||
$STD apt update
|
$STD apt update
|
||||||
@ -2430,8 +2415,6 @@ EOF
|
|||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
rm -rf "$TEMP_DIR" libaio1-compat.deb
|
rm -rf "$TEMP_DIR" libaio1-compat.deb
|
||||||
|
|
||||||
msg_ok "libaio1 compatibility package installed"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Use standardized repo setup
|
# Use standardized repo setup
|
||||||
@ -2471,14 +2454,11 @@ EOF
|
|||||||
|
|
||||||
if [[ "$mysql_install_success" == false ]]; then
|
if [[ "$mysql_install_success" == false ]]; then
|
||||||
msg_error "MySQL ${MYSQL_VERSION} package not available for suite ${SUITE}"
|
msg_error "MySQL ${MYSQL_VERSION} package not available for suite ${SUITE}"
|
||||||
msg_info "Available MySQL components:"
|
|
||||||
apt-cache search "mysql" | grep "^mysql" | head -20 | sed 's/^/ /'
|
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Verify installation
|
# Verify installation
|
||||||
if ! command -v mysql >/dev/null 2>&1; then
|
if ! command -v mysql >/dev/null 2>&1; then
|
||||||
msg_warn "MySQL installed but mysql command not immediately available - retrying after shell refresh"
|
|
||||||
hash -r
|
hash -r
|
||||||
if ! command -v mysql >/dev/null 2>&1; then
|
if ! command -v mysql >/dev/null 2>&1; then
|
||||||
msg_error "MySQL installed but mysql command still not found"
|
msg_error "MySQL installed but mysql command still not found"
|
||||||
@ -2487,7 +2467,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
cache_installed_version "mysql" "$MYSQL_VERSION"
|
cache_installed_version "mysql" "$MYSQL_VERSION"
|
||||||
msg_ok "Installed MySQL $MYSQL_VERSION"
|
msg_ok "Setup MySQL $MYSQL_VERSION"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2515,17 +2495,17 @@ function setup_nodejs() {
|
|||||||
if command -v node >/dev/null; then
|
if command -v node >/dev/null; then
|
||||||
CURRENT_NODE_VERSION="$(node -v | grep -oP '^v\K[0-9]+')"
|
CURRENT_NODE_VERSION="$(node -v | grep -oP '^v\K[0-9]+')"
|
||||||
if [[ "$CURRENT_NODE_VERSION" != "$NODE_VERSION" ]]; then
|
if [[ "$CURRENT_NODE_VERSION" != "$NODE_VERSION" ]]; then
|
||||||
msg_info "Old Node.js $CURRENT_NODE_VERSION found, replacing with $NODE_VERSION"
|
|
||||||
NEED_NODE_INSTALL=true
|
NEED_NODE_INSTALL=true
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
msg_info "Setup Node.js $NODE_VERSION"
|
|
||||||
NEED_NODE_INSTALL=true
|
NEED_NODE_INSTALL=true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ensure_dependencies jq
|
|
||||||
|
|
||||||
if [[ "$NEED_NODE_INSTALL" == true ]]; then
|
if [[ "$NEED_NODE_INSTALL" == true ]]; then
|
||||||
|
msg_info "Setup Node.js $NODE_VERSION"
|
||||||
|
|
||||||
|
ensure_dependencies jq
|
||||||
|
|
||||||
$STD apt purge -y nodejs
|
$STD apt purge -y nodejs
|
||||||
|
|
||||||
# Cleanup old repository files
|
# Cleanup old repository files
|
||||||
@ -2546,12 +2526,10 @@ function setup_nodejs() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$STD npm install -g npm@latest || {
|
$STD npm install -g npm@latest 2>/dev/null || true
|
||||||
msg_warn "Failed to update npm to latest version"
|
|
||||||
}
|
|
||||||
|
|
||||||
cache_installed_version "nodejs" "$NODE_VERSION"
|
cache_installed_version "nodejs" "$NODE_VERSION"
|
||||||
msg_ok "Installed Node.js ${NODE_VERSION}"
|
msg_ok "Setup Node.js $NODE_VERSION"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export NODE_OPTIONS="--max-old-space-size=4096"
|
export NODE_OPTIONS="--max-old-space-size=4096"
|
||||||
@ -2582,27 +2560,23 @@ function setup_nodejs() {
|
|||||||
if npm list -g --depth=0 "$MODULE_NAME" >/dev/null 2>&1; then
|
if npm list -g --depth=0 "$MODULE_NAME" >/dev/null 2>&1; then
|
||||||
MODULE_INSTALLED_VERSION="$(npm list -g --depth=0 "$MODULE_NAME" | grep "$MODULE_NAME@" | awk -F@ '{print $2}' | tr -d '[:space:]')"
|
MODULE_INSTALLED_VERSION="$(npm list -g --depth=0 "$MODULE_NAME" | grep "$MODULE_NAME@" | awk -F@ '{print $2}' | tr -d '[:space:]')"
|
||||||
if [[ "$MODULE_REQ_VERSION" != "latest" && "$MODULE_REQ_VERSION" != "$MODULE_INSTALLED_VERSION" ]]; then
|
if [[ "$MODULE_REQ_VERSION" != "latest" && "$MODULE_REQ_VERSION" != "$MODULE_INSTALLED_VERSION" ]]; then
|
||||||
msg_info "Updating $MODULE_NAME from v$MODULE_INSTALLED_VERSION to v$MODULE_REQ_VERSION"
|
|
||||||
if ! $STD npm install -g "${MODULE_NAME}@${MODULE_REQ_VERSION}"; then
|
if ! $STD npm install -g "${MODULE_NAME}@${MODULE_REQ_VERSION}"; then
|
||||||
msg_error "Failed to update $MODULE_NAME to version $MODULE_REQ_VERSION"
|
msg_error "Failed to update $MODULE_NAME to version $MODULE_REQ_VERSION"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
elif [[ "$MODULE_REQ_VERSION" == "latest" ]]; then
|
elif [[ "$MODULE_REQ_VERSION" == "latest" ]]; then
|
||||||
msg_info "Updating $MODULE_NAME to latest version"
|
|
||||||
if ! $STD npm install -g "${MODULE_NAME}@latest"; then
|
if ! $STD npm install -g "${MODULE_NAME}@latest"; then
|
||||||
msg_error "Failed to update $MODULE_NAME to latest version"
|
msg_error "Failed to update $MODULE_NAME to latest version"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
msg_info "Installing $MODULE_NAME@$MODULE_REQ_VERSION"
|
|
||||||
if ! $STD npm install -g "${MODULE_NAME}@${MODULE_REQ_VERSION}"; then
|
if ! $STD npm install -g "${MODULE_NAME}@${MODULE_REQ_VERSION}"; then
|
||||||
msg_error "Failed to install $MODULE_NAME@$MODULE_REQ_VERSION"
|
msg_error "Failed to install $MODULE_NAME@$MODULE_REQ_VERSION"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
msg_ok "Installed Node.js modules: $NODE_MODULE"
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2658,10 +2632,9 @@ function setup_php() {
|
|||||||
CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2)
|
CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "$CURRENT_PHP" ]]; then
|
msg_info "Setup PHP $PHP_VERSION"
|
||||||
msg_info "Setup PHP $PHP_VERSION"
|
|
||||||
elif [[ "$CURRENT_PHP" != "$PHP_VERSION" ]]; then
|
if [[ -n "$CURRENT_PHP" && "$CURRENT_PHP" != "$PHP_VERSION" ]]; then
|
||||||
msg_info "Old PHP $CURRENT_PHP detected, Setup new PHP $PHP_VERSION"
|
|
||||||
$STD apt purge -y "php${CURRENT_PHP//./}"* || true
|
$STD apt purge -y "php${CURRENT_PHP//./}"* || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -2694,8 +2667,6 @@ EOF
|
|||||||
for mod in "${MODULES[@]}"; do
|
for mod in "${MODULES[@]}"; do
|
||||||
if apt-cache show "php${PHP_VERSION}-${mod}" >/dev/null 2>&1; then
|
if apt-cache show "php${PHP_VERSION}-${mod}" >/dev/null 2>&1; then
|
||||||
MODULE_LIST+=" php${PHP_VERSION}-${mod}"
|
MODULE_LIST+=" php${PHP_VERSION}-${mod}"
|
||||||
else
|
|
||||||
msg_warn "PHP-Module ${mod} for PHP ${PHP_VERSION} not found – skipping"
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [[ "$PHP_FPM" == "YES" ]]; then
|
if [[ "$PHP_FPM" == "YES" ]]; then
|
||||||
@ -2705,17 +2676,13 @@ EOF
|
|||||||
# install apache2 with PHP support if requested
|
# install apache2 with PHP support if requested
|
||||||
if [[ "$PHP_APACHE" == "YES" ]]; then
|
if [[ "$PHP_APACHE" == "YES" ]]; then
|
||||||
if ! dpkg -l | grep -q "libapache2-mod-php${PHP_VERSION}"; then
|
if ! dpkg -l | grep -q "libapache2-mod-php${PHP_VERSION}"; then
|
||||||
msg_info "Installing Apache with PHP${PHP_VERSION} support"
|
|
||||||
$STD apt install -y apache2 libapache2-mod-php${PHP_VERSION}
|
$STD apt install -y apache2 libapache2-mod-php${PHP_VERSION}
|
||||||
else
|
|
||||||
msg_info "Apache with PHP${PHP_VERSION} already installed – skipping install"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# setup / update PHP modules
|
# setup / update PHP modules
|
||||||
$STD apt install -y $MODULE_LIST
|
$STD apt install -y $MODULE_LIST
|
||||||
cache_installed_version "php" "$PHP_VERSION"
|
cache_installed_version "php" "$PHP_VERSION"
|
||||||
msg_ok "Installed PHP $PHP_VERSION"
|
|
||||||
|
|
||||||
# optional stop old PHP-FPM service
|
# optional stop old PHP-FPM service
|
||||||
if [[ "$PHP_FPM" == "YES" && -n "$CURRENT_PHP" && "$CURRENT_PHP" != "$PHP_VERSION" ]]; then
|
if [[ "$PHP_FPM" == "YES" && -n "$CURRENT_PHP" && "$CURRENT_PHP" != "$PHP_VERSION" ]]; then
|
||||||
@ -2753,10 +2720,10 @@ EOF
|
|||||||
if systemctl list-unit-files | grep -q "php${PHP_VERSION}-fpm.service"; then
|
if systemctl list-unit-files | grep -q "php${PHP_VERSION}-fpm.service"; then
|
||||||
$STD systemctl enable php${PHP_VERSION}-fpm
|
$STD systemctl enable php${PHP_VERSION}-fpm
|
||||||
safe_service_restart php${PHP_VERSION}-fpm
|
safe_service_restart php${PHP_VERSION}-fpm
|
||||||
else
|
|
||||||
msg_warn "FPM requested but service php${PHP_VERSION}-fpm not found"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
msg_ok "Setup PHP $PHP_VERSION"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -2790,7 +2757,7 @@ function setup_postgresql() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$NEED_PG_INSTALL" == true ]]; then
|
if [[ "$NEED_PG_INSTALL" == true ]]; then
|
||||||
msg_info "Installing PostgreSQL $PG_VERSION"
|
msg_info "Setup PostgreSQL $PG_VERSION"
|
||||||
|
|
||||||
if [[ -n "$CURRENT_PG_VERSION" ]]; then
|
if [[ -n "$CURRENT_PG_VERSION" ]]; then
|
||||||
$STD runuser -u postgres -- pg_dumpall >/var/lib/postgresql/backup_$(date +%F)_v${CURRENT_PG_VERSION}.sql
|
$STD runuser -u postgres -- pg_dumpall >/var/lib/postgresql/backup_$(date +%F)_v${CURRENT_PG_VERSION}.sql
|
||||||
@ -2856,13 +2823,10 @@ function setup_postgresql() {
|
|||||||
# Third try: just postgresql (any version)
|
# Third try: just postgresql (any version)
|
||||||
if [[ "$pg_install_success" == false ]] && apt-cache search "^postgresql$" 2>/dev/null | grep -q . && $STD apt install -y postgresql postgresql-client 2>/dev/null; then
|
if [[ "$pg_install_success" == false ]] && apt-cache search "^postgresql$" 2>/dev/null | grep -q . && $STD apt install -y postgresql postgresql-client 2>/dev/null; then
|
||||||
pg_install_success=true
|
pg_install_success=true
|
||||||
msg_warn "PostgreSQL ${PG_VERSION} not available, installed latest available version"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$pg_install_success" == false ]]; then
|
if [[ "$pg_install_success" == false ]]; then
|
||||||
msg_error "PostgreSQL package not available for suite ${SUITE}"
|
msg_error "PostgreSQL package not available for suite ${SUITE}"
|
||||||
msg_info "Available PostgreSQL packages:"
|
|
||||||
apt-cache search "postgresql" | grep "^postgresql" | head -20 | sed 's/^/ /'
|
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -2885,19 +2849,14 @@ function setup_postgresql() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
cache_installed_version "postgresql" "$PG_VERSION"
|
cache_installed_version "postgresql" "$PG_VERSION"
|
||||||
msg_ok "Installed PostgreSQL $PG_VERSION"
|
msg_ok "Setup PostgreSQL $PG_VERSION"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "$PG_MODULES" ]]; then
|
if [[ -n "$PG_MODULES" ]]; then
|
||||||
msg_info "Installing PostgreSQL modules"
|
|
||||||
IFS=',' read -ra MODULES <<<"$PG_MODULES"
|
IFS=',' read -ra MODULES <<<"$PG_MODULES"
|
||||||
for module in "${MODULES[@]}"; do
|
for module in "${MODULES[@]}"; do
|
||||||
$STD apt install -y "postgresql-${PG_VERSION}-${module}" || {
|
$STD apt install -y "postgresql-${PG_VERSION}-${module}" 2>/dev/null || true
|
||||||
msg_warn "Failed to install postgresql-${PG_VERSION}-${module}"
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
done
|
done
|
||||||
msg_ok "Installed PostgreSQL modules"
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2924,15 +2883,13 @@ function setup_ruby() {
|
|||||||
local CACHED_VERSION
|
local CACHED_VERSION
|
||||||
CACHED_VERSION=$(get_cached_version "ruby")
|
CACHED_VERSION=$(get_cached_version "ruby")
|
||||||
|
|
||||||
msg_info "Installing Ruby $RUBY_VERSION"
|
msg_info "Setup Ruby $RUBY_VERSION"
|
||||||
|
|
||||||
# Ensure APT is working before installing dependencies
|
# Ensure APT is working before installing dependencies
|
||||||
ensure_apt_working || return 1
|
ensure_apt_working || return 1
|
||||||
|
|
||||||
# Install build dependencies - with fallback for different Debian versions
|
# Install build dependencies - with fallback for different Debian versions
|
||||||
# In Trixie: libreadline6-dev -> libreadline-dev, libncurses5-dev -> libncurses-dev
|
# In Trixie: libreadline6-dev -> libreadline-dev, libncurses5-dev -> libncurses-dev
|
||||||
msg_info "Installing Ruby build dependencies"
|
|
||||||
|
|
||||||
local ruby_deps=()
|
local ruby_deps=()
|
||||||
local dep_variations=(
|
local dep_variations=(
|
||||||
"jq"
|
"jq"
|
||||||
@ -2963,20 +2920,15 @@ function setup_ruby() {
|
|||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
[[ "$found" == false ]] && msg_warn "No version of $dep_pattern available"
|
|
||||||
else
|
else
|
||||||
if apt-cache search "^${dep_pattern}$" 2>/dev/null | grep -q .; then
|
if apt-cache search "^${dep_pattern}$" 2>/dev/null | grep -q .; then
|
||||||
ruby_deps+=("$dep_pattern")
|
ruby_deps+=("$dep_pattern")
|
||||||
else
|
|
||||||
msg_warn "Package $dep_pattern not available"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ ${#ruby_deps[@]} -gt 0 ]]; then
|
if [[ ${#ruby_deps[@]} -gt 0 ]]; then
|
||||||
if ! $STD apt install -y "${ruby_deps[@]}" 2>/dev/null; then
|
$STD apt install -y "${ruby_deps[@]}" 2>/dev/null || true
|
||||||
msg_warn "Some Ruby dependencies failed to install - Ruby may not compile fully\nContinuing anyway..."
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
msg_error "No Ruby build dependencies available"
|
msg_error "No Ruby build dependencies available"
|
||||||
return 1
|
return 1
|
||||||
@ -3047,13 +2999,11 @@ function setup_ruby() {
|
|||||||
|
|
||||||
if [[ "$RUBY_INSTALL_RAILS" == "true" ]]; then
|
if [[ "$RUBY_INSTALL_RAILS" == "true" ]]; then
|
||||||
$STD gem install rails
|
$STD gem install rails
|
||||||
local RAILS_VERSION=$(rails -v 2>/dev/null | awk '{print $2}')
|
|
||||||
msg_ok "Installed Rails $RAILS_VERSION"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -rf "$TMP_DIR"
|
rm -rf "$TMP_DIR"
|
||||||
cache_installed_version "ruby" "$RUBY_VERSION"
|
cache_installed_version "ruby" "$RUBY_VERSION"
|
||||||
msg_ok "Installed Ruby $RUBY_VERSION"
|
msg_ok "Setup Ruby $RUBY_VERSION"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -3118,16 +3068,16 @@ function setup_clickhouse() {
|
|||||||
upgrade_package clickhouse-server
|
upgrade_package clickhouse-server
|
||||||
upgrade_package clickhouse-client
|
upgrade_package clickhouse-client
|
||||||
else
|
else
|
||||||
msg_info "Upgrading ClickHouse $CLICKHOUSE_VERSION"
|
msg_info "Setup ClickHouse $CLICKHOUSE_VERSION"
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install --only-upgrade -y clickhouse-server clickhouse-client
|
$STD apt install --only-upgrade -y clickhouse-server clickhouse-client
|
||||||
cache_installed_version "clickhouse" "$CLICKHOUSE_VERSION"
|
cache_installed_version "clickhouse" "$CLICKHOUSE_VERSION"
|
||||||
msg_ok "Upgraded ClickHouse $CLICKHOUSE_VERSION"
|
msg_ok "Setup ClickHouse $CLICKHOUSE_VERSION"
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Installing ClickHouse $CLICKHOUSE_VERSION"
|
msg_info "Setup ClickHouse $CLICKHOUSE_VERSION"
|
||||||
|
|
||||||
# Stop existing service if upgrading
|
# Stop existing service if upgrading
|
||||||
if [[ -n "$CURRENT_VERSION" ]]; then
|
if [[ -n "$CURRENT_VERSION" ]]; then
|
||||||
@ -3176,21 +3126,14 @@ function setup_clickhouse() {
|
|||||||
# Check if clickhouse user exists before chown
|
# Check if clickhouse user exists before chown
|
||||||
if id clickhouse >/dev/null 2>&1; then
|
if id clickhouse >/dev/null 2>&1; then
|
||||||
chown -R clickhouse:clickhouse /var/lib/clickhouse
|
chown -R clickhouse:clickhouse /var/lib/clickhouse
|
||||||
else
|
|
||||||
msg_warn "ClickHouse user not found, skipping chown"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Enable and start service
|
# Enable and start service
|
||||||
if ! $STD systemctl enable clickhouse-server; then
|
$STD systemctl enable clickhouse-server
|
||||||
msg_warn "Failed to enable clickhouse-server service"
|
safe_service_restart clickhouse-server || true
|
||||||
fi
|
|
||||||
|
|
||||||
if ! safe_service_restart clickhouse-server; then
|
|
||||||
msg_warn "Failed to start clickhouse-server service (this may be normal on first install)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cache_installed_version "clickhouse" "$CLICKHOUSE_VERSION"
|
cache_installed_version "clickhouse" "$CLICKHOUSE_VERSION"
|
||||||
msg_ok "Installed ClickHouse $CLICKHOUSE_VERSION"
|
msg_ok "Setup ClickHouse $CLICKHOUSE_VERSION"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -3218,7 +3161,7 @@ function setup_rust() {
|
|||||||
CACHED_VERSION=$(get_cached_version "rust")
|
CACHED_VERSION=$(get_cached_version "rust")
|
||||||
|
|
||||||
if ! command -v rustup &>/dev/null; then
|
if ! command -v rustup &>/dev/null; then
|
||||||
msg_info "Installing Rust"
|
msg_info "Setup Rust"
|
||||||
curl -fsSL https://sh.rustup.rs | $STD sh -s -- -y --default-toolchain "$RUST_TOOLCHAIN" || {
|
curl -fsSL https://sh.rustup.rs | $STD sh -s -- -y --default-toolchain "$RUST_TOOLCHAIN" || {
|
||||||
msg_error "Failed to install Rust"
|
msg_error "Failed to install Rust"
|
||||||
return 1
|
return 1
|
||||||
@ -3227,14 +3170,15 @@ function setup_rust() {
|
|||||||
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >>"$HOME/.profile"
|
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >>"$HOME/.profile"
|
||||||
local RUST_VERSION=$(rustc --version 2>/dev/null | awk '{print $2}')
|
local RUST_VERSION=$(rustc --version 2>/dev/null | awk '{print $2}')
|
||||||
cache_installed_version "rust" "$RUST_VERSION"
|
cache_installed_version "rust" "$RUST_VERSION"
|
||||||
msg_ok "Installed Rust $RUST_VERSION"
|
msg_ok "Setup Rust $RUST_VERSION"
|
||||||
else
|
else
|
||||||
|
msg_info "Setup Rust"
|
||||||
$STD rustup install "$RUST_TOOLCHAIN"
|
$STD rustup install "$RUST_TOOLCHAIN"
|
||||||
$STD rustup default "$RUST_TOOLCHAIN"
|
$STD rustup default "$RUST_TOOLCHAIN"
|
||||||
$STD rustup update "$RUST_TOOLCHAIN"
|
$STD rustup update "$RUST_TOOLCHAIN"
|
||||||
local RUST_VERSION=$(rustc --version 2>/dev/null | awk '{print $2}')
|
local RUST_VERSION=$(rustc --version 2>/dev/null | awk '{print $2}')
|
||||||
cache_installed_version "rust" "$RUST_VERSION"
|
cache_installed_version "rust" "$RUST_VERSION"
|
||||||
msg_ok "Updated Rust toolchain to $RUST_TOOLCHAIN ($RUST_VERSION)"
|
msg_ok "Setup Rust $RUST_VERSION"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "$RUST_CRATES" ]]; then
|
if [[ -n "$RUST_CRATES" ]]; then
|
||||||
@ -3253,19 +3197,12 @@ function setup_rust() {
|
|||||||
|
|
||||||
if [[ -n "$INSTALLED_VER" ]]; then
|
if [[ -n "$INSTALLED_VER" ]]; then
|
||||||
if [[ -n "$VER" && "$VER" != "$INSTALLED_VER" ]]; then
|
if [[ -n "$VER" && "$VER" != "$INSTALLED_VER" ]]; then
|
||||||
msg_info "Updating $NAME: $INSTALLED_VER → $VER"
|
|
||||||
$STD cargo install "$NAME" --version "$VER" --force
|
$STD cargo install "$NAME" --version "$VER" --force
|
||||||
msg_ok "Updated $NAME to $VER"
|
|
||||||
elif [[ -z "$VER" ]]; then
|
elif [[ -z "$VER" ]]; then
|
||||||
msg_info "Updating $NAME: $INSTALLED_VER → latest"
|
|
||||||
$STD cargo install "$NAME" --force
|
$STD cargo install "$NAME" --force
|
||||||
local NEW_VER=$(cargo install --list 2>/dev/null | awk "/^$NAME v[0-9]/ {print \$2}" | tr -d 'v')
|
|
||||||
msg_ok "Updated $NAME to $NEW_VER"
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
msg_info "Installing $NAME ${VER:+$VER}"
|
|
||||||
$STD cargo install "$NAME" ${VER:+--version "$VER"}
|
$STD cargo install "$NAME" ${VER:+--version "$VER"}
|
||||||
msg_ok "Installed $NAME ${VER:-latest}"
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
@ -3333,13 +3270,11 @@ function setup_uv() {
|
|||||||
cache_installed_version "uv" "$LATEST_VERSION"
|
cache_installed_version "uv" "$LATEST_VERSION"
|
||||||
rm -rf "$TMP_DIR"
|
rm -rf "$TMP_DIR"
|
||||||
return 0
|
return 0
|
||||||
else
|
|
||||||
msg_info "Updating uv from $INSTALLED_VERSION to $LATEST_VERSION"
|
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
msg_info "Installing uv $LATEST_VERSION"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
msg_info "Setup uv $LATEST_VERSION"
|
||||||
|
|
||||||
local UV_URL="https://github.com/astral-sh/uv/releases/latest/download/${UV_TAR}"
|
local UV_URL="https://github.com/astral-sh/uv/releases/latest/download/${UV_TAR}"
|
||||||
curl -fsSL "$UV_URL" -o "$TMP_DIR/uv.tar.gz" || {
|
curl -fsSL "$UV_URL" -o "$TMP_DIR/uv.tar.gz" || {
|
||||||
msg_error "Failed to download uv"
|
msg_error "Failed to download uv"
|
||||||
@ -3365,7 +3300,7 @@ function setup_uv() {
|
|||||||
|
|
||||||
$STD uv python update-shell || true
|
$STD uv python update-shell || true
|
||||||
cache_installed_version "uv" "$LATEST_VERSION"
|
cache_installed_version "uv" "$LATEST_VERSION"
|
||||||
msg_ok "Installed uv $LATEST_VERSION"
|
msg_ok "Setup uv $LATEST_VERSION"
|
||||||
|
|
||||||
if [[ -n "${PYTHON_VERSION:-}" ]]; then
|
if [[ -n "${PYTHON_VERSION:-}" ]]; then
|
||||||
local VERSION_MATCH
|
local VERSION_MATCH
|
||||||
@ -3383,7 +3318,6 @@ function setup_uv() {
|
|||||||
msg_error "Failed to install Python $VERSION_MATCH"
|
msg_error "Failed to install Python $VERSION_MATCH"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
msg_ok "Installed Python $VERSION_MATCH"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -3436,7 +3370,7 @@ function setup_yq() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Installing yq $LATEST_VERSION"
|
msg_info "Setup yq $LATEST_VERSION"
|
||||||
curl -fsSL "https://github.com/${GITHUB_REPO}/releases/download/v${LATEST_VERSION}/yq_linux_amd64" -o "$TMP_DIR/yq" || {
|
curl -fsSL "https://github.com/${GITHUB_REPO}/releases/download/v${LATEST_VERSION}/yq_linux_amd64" -o "$TMP_DIR/yq" || {
|
||||||
msg_error "Failed to download yq"
|
msg_error "Failed to download yq"
|
||||||
rm -rf "$TMP_DIR"
|
rm -rf "$TMP_DIR"
|
||||||
@ -3458,5 +3392,5 @@ function setup_yq() {
|
|||||||
local FINAL_VERSION
|
local FINAL_VERSION
|
||||||
FINAL_VERSION=$("$BINARY_PATH" --version 2>/dev/null | awk '{print $NF}' | sed 's/^v//')
|
FINAL_VERSION=$("$BINARY_PATH" --version 2>/dev/null | awk '{print $NF}' | sed 's/^v//')
|
||||||
cache_installed_version "yq" "$FINAL_VERSION"
|
cache_installed_version "yq" "$FINAL_VERSION"
|
||||||
msg_ok "Installed yq $FINAL_VERSION"
|
msg_ok "Setup yq $FINAL_VERSION"
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user