Модернизация 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
done
# Проверка обязательных параметров или переменных окружения
# Проверяем обязательные параметры (из аргументов или переменных окружения)
if [ -z "$HPB_URL" ]; then
# Пробуем получить из переменной окружения
HPB_URL="${HPB_URL_ENV:-}"
fi
if [ -z "$HPB_SECRET" ]; then
# Пробуем получить из переменной окружения
HPB_SECRET="${HPB_SECRET_ENV:-}"
fi
if [ -z "$F7CLOUD_URL" ]; then
# Пробуем получить из переменной окружения
F7CLOUD_URL="${F7CLOUD_URL_ENV:-}"
fi
if [ -z "$F7CLOUD_SECRET" ]; then
# Пробуем получить из переменной окружения
F7CLOUD_SECRET="${F7CLOUD_SECRET_ENV:-}"
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
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 ""
show_help
exit 1
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
if [ "$EUID" -ne 0 ]; then
error "Пожалуйста, запустите скрипт с правами root (sudo)"
@ -193,6 +227,11 @@ if [ "$DISTRO" = "debian" ]; then
git \
bzip2 \
tar
if [ $? -ne 0 ]; then
error "Ошибка при установке системных зависимостей"
exit 1
fi
else
error "Установка для RedHat-based дистрибутивов пока не поддерживается автоматически"
exit 1
@ -215,6 +254,11 @@ if [ -d "dependencies/firefox-esr" ] && [ -f "dependencies/firefox-esr/firefox"
exit 1
fi
# Создаем целевую директорию, если её нет
if [ ! -d "/opt/firefox-esr" ]; then
mkdir -p /opt/firefox-esr
fi
# Копируем с проверкой
if ! safe_copy "dependencies/firefox-esr" "/opt/firefox-esr"; then
error "Не удалось скопировать Firefox ESR"