Модернизация install.sh согласно правильному файлу модернизации

- Улучшена проверка обязательных параметров с более информативными сообщениями об ошибках
- Добавлен вывод используемых параметров после проверки
- Добавлена проверка успешности установки системных зависимостей
- Добавлена проверка существования директорий перед копированием Firefox ESR
- Улучшена поддержка переменных окружения как альтернативы параметрам командной строки
This commit is contained in:
F7cloud 2026-02-20 09:53:53 +00:00
parent d6a1f6432a
commit 4fadd70588

View File

@ -121,28 +121,62 @@ while [[ $# -gt 0 ]]; do
esac esac
done done
# Проверка обязательных параметров или переменных окружения # Проверяем обязательные параметры (из аргументов или переменных окружения)
if [ -z "$HPB_URL" ]; then if [ -z "$HPB_URL" ]; then
# Пробуем получить из переменной окружения
HPB_URL="${HPB_URL_ENV:-}" HPB_URL="${HPB_URL_ENV:-}"
fi fi
if [ -z "$HPB_SECRET" ]; then if [ -z "$HPB_SECRET" ]; then
# Пробуем получить из переменной окружения
HPB_SECRET="${HPB_SECRET_ENV:-}" HPB_SECRET="${HPB_SECRET_ENV:-}"
fi fi
if [ -z "$F7CLOUD_URL" ]; then if [ -z "$F7CLOUD_URL" ]; then
# Пробуем получить из переменной окружения
F7CLOUD_URL="${F7CLOUD_URL_ENV:-}" F7CLOUD_URL="${F7CLOUD_URL_ENV:-}"
fi fi
if [ -z "$F7CLOUD_SECRET" ]; then if [ -z "$F7CLOUD_SECRET" ]; then
# Пробуем получить из переменной окружения
F7CLOUD_SECRET="${F7CLOUD_SECRET_ENV:-}" F7CLOUD_SECRET="${F7CLOUD_SECRET_ENV:-}"
fi fi
if [ -z "$LISTEN_ADDRESS" ] || [ "$LISTEN_ADDRESS" = "127.0.0.1:8000" ]; then
# Пробуем получить из переменной окружения, если не задано явно
if [ -n "${LISTEN_ADDRESS_ENV:-}" ]; then
LISTEN_ADDRESS="${LISTEN_ADDRESS_ENV}"
fi
fi
if [ -z "$HPB_URL" ] || [ -z "$HPB_SECRET" ]; then if [ -z "$HPB_URL" ] || [ -z "$HPB_SECRET" ]; then
error "Ошибка: --hpb-url и --hpb-secret являются обязательными параметрами" error "Ошибка: --hpb-url и --hpb-secret являются обязательными параметрами"
error "Или используйте переменные окружения: HPB_URL_ENV и HPB_SECRET_ENV" error ""
error "Использование:"
error " $0 --hpb-url URL --hpb-secret SECRET [OPTIONS]"
error ""
error "Или используйте переменные окружения:"
error " export HPB_URL_ENV='https://hpb.example.com'"
error " export HPB_SECRET_ENV='your-secret'"
error " $0"
echo "" echo ""
show_help show_help
exit 1 exit 1
fi fi
# Вывод используемых параметров
info "Используемые параметры:"
info " HPB URL: $HPB_URL"
info " HPB Secret: [скрыт]"
if [ -n "$F7CLOUD_URL" ]; then
info " F7cloud URL: $F7CLOUD_URL"
if [ -n "$F7CLOUD_SECRET" ]; then
info " F7cloud Secret: [скрыт]"
fi
fi
info " Listen: $LISTEN_ADDRESS"
info ""
# Проверка прав root # Проверка прав root
if [ "$EUID" -ne 0 ]; then if [ "$EUID" -ne 0 ]; then
error "Пожалуйста, запустите скрипт с правами root (sudo)" error "Пожалуйста, запустите скрипт с правами root (sudo)"
@ -193,6 +227,11 @@ if [ "$DISTRO" = "debian" ]; then
git \ git \
bzip2 \ bzip2 \
tar tar
if [ $? -ne 0 ]; then
error "Ошибка при установке системных зависимостей"
exit 1
fi
else else
error "Установка для RedHat-based дистрибутивов пока не поддерживается автоматически" error "Установка для RedHat-based дистрибутивов пока не поддерживается автоматически"
exit 1 exit 1
@ -215,6 +254,11 @@ if [ -d "dependencies/firefox-esr" ] && [ -f "dependencies/firefox-esr/firefox"
exit 1 exit 1
fi fi
# Создаем целевую директорию, если её нет
if [ ! -d "/opt/firefox-esr" ]; then
mkdir -p /opt/firefox-esr
fi
# Копируем с проверкой # Копируем с проверкой
if ! safe_copy "dependencies/firefox-esr" "/opt/firefox-esr"; then if ! safe_copy "dependencies/firefox-esr" "/opt/firefox-esr"; then
error "Не удалось скопировать Firefox ESR" error "Не удалось скопировать Firefox ESR"