From 64aea9824dd8cf3bbc0ba8dac7cd9a3285a41ea3 Mon Sep 17 00:00:00 2001 From: F7 Office Deploy Date: Fri, 20 Feb 2026 10:39:49 +0000 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82?= =?UTF-8?q?=D0=B0=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install-f7office.sh | 101 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 96 insertions(+), 5 deletions(-) diff --git a/install-f7office.sh b/install-f7office.sh index a15d722..398678d 100644 --- a/install-f7office.sh +++ b/install-f7office.sh @@ -18,7 +18,38 @@ else fi COPY() { - $DRY_RUN cp -a "$1" "$2" + # Проверка существования источника + if [ ! -e "$1" ]; then + echo "Предупреждение: источник не существует: $1" + return 1 + fi + + # Создаем целевую директорию, если её нет + local target_dir=$(dirname "$2") + if [ ! -d "$target_dir" ]; then + if [ -z "$DRY_RUN" ]; then + mkdir -p "$target_dir" + if [ $? -ne 0 ]; then + echo "Ошибка: Не удалось создать директорию $target_dir" + return 1 + fi + else + echo "[DRY-RUN] mkdir -p $target_dir" + fi + fi + + # Копируем файл + if [ -z "$DRY_RUN" ]; then + cp -a "$1" "$2" + if [ $? -ne 0 ]; then + echo "Ошибка: Не удалось скопировать $1 в $2" + return 1 + fi + else + echo "[DRY-RUN] cp -a $1 $2" + fi + + return 0 } # Копирование browser/dist (только изменённые файлы) @@ -26,10 +57,31 @@ DIST_SRC="${ROOT}/usr/share/coolwsd/browser/dist" DIST_DST="/usr/share/coolwsd/browser/dist" if [ ! -d "$DIST_DST" ]; then - echo "Каталог $DIST_DST не найден. Сначала установите coolwsd и code-brand." + echo "Ошибка: Каталог $DIST_DST не найден." + echo "Сначала установите coolwsd и code-brand." + echo "" + echo "Для Debian/Ubuntu:" + echo " apt-get update" + echo " apt-get install coolwsd code-brand" exit 1 fi +# Дополнительная проверка: проверяем, что coolwsd установлен +if ! command -v coolwsd &>/dev/null; then + echo "Предупреждение: Команда coolwsd не найдена в PATH." + echo "Убедитесь, что coolwsd установлен корректно." +fi + +# Проверяем статус сервиса coolwsd (если доступен systemctl) +if command -v systemctl &>/dev/null; then + if systemctl is-active --quiet coolwsd 2>/dev/null; then + echo "✓ Сервис coolwsd запущен" + else + echo "⚠ Предупреждение: Сервис coolwsd не запущен." + echo " После установки файлов запустите: systemctl start coolwsd" + fi +fi + [ -f "$DIST_SRC/branding.js" ] && COPY "$DIST_SRC/branding.js" "$DIST_DST/" [ -f "$DIST_SRC/branding.css" ] && COPY "$DIST_SRC/branding.css" "$DIST_DST/" [ -f "$DIST_SRC/branding-mobile.css" ] && COPY "$DIST_SRC/branding-mobile.css" "$DIST_DST/" @@ -51,9 +103,48 @@ fi # [ -f "${ROOT}/etc/apache2/sites-available/collabora-le-ssl.conf" ] && COPY "${ROOT}/etc/apache2/sites-available/collabora-le-ssl.conf" /etc/apache2/sites-available/ if [ -z "$DRY_RUN" ]; then - echo "Файлы установлены. Перезапуск coolwsd..." - systemctl restart coolwsd 2>/dev/null || true - echo "Готово." + echo "Файлы установлены." + + # Проверяем, какие файлы были скопированы + echo "" + echo "Установленные файлы:" + [ -f "$DIST_DST/branding.js" ] && echo " ✓ branding.js" || echo " ✗ branding.js (не найден)" + [ -f "$DIST_DST/branding.css" ] && echo " ✓ branding.css" || echo " ✗ branding.css (не найден)" + [ -f "$DIST_DST/branding-mobile.css" ] && echo " ✓ branding-mobile.css" || echo " ✗ branding-mobile.css (не найден)" + [ -f "$DIST_DST/branding-tablet.css" ] && echo " ✓ branding-tablet.css" || echo " ✗ branding-tablet.css (не найден)" + [ -f "$DIST_DST/cool.html" ] && echo " ✓ cool.html" || echo " ✗ cool.html (не найден)" + [ -f "$DIST_DST/wasm.html" ] && echo " ✓ wasm.html" || echo " ✗ wasm.html (не найден)" + [ -f "$DIST_DST/welcome/welcome.html" ] && echo " ✓ welcome/welcome.html" || echo " ✗ welcome/welcome.html (не найден)" + [ -f "$DIST_DST/src/layer/tile/CanvasTileUtils.js" ] && echo " ✓ src/layer/tile/CanvasTileUtils.js" || echo " ✗ src/layer/tile/CanvasTileUtils.js (не найден)" + [ -f "$DIST_DST/src/layer/tile/TileWorker.js" ] && echo " ✓ src/layer/tile/TileWorker.js" || echo " ✗ src/layer/tile/TileWorker.js (не найден)" + [ -d "$DIST_DST/f7cloud" ] && echo " ✓ f7cloud/ (директория брендинга)" || echo " ✗ f7cloud/ (директория не найдена)" + + echo "" + echo "Перезапуск coolwsd..." + if command -v systemctl &>/dev/null; then + if systemctl restart coolwsd 2>/dev/null; then + echo "✓ coolwsd перезапущен успешно" + + # Проверяем статус после перезапуска + sleep 1 + if systemctl is-active --quiet coolwsd 2>/dev/null; then + echo "✓ coolwsd работает корректно" + else + echo "⚠ Предупреждение: coolwsd не запустился после перезапуска" + echo " Проверьте логи: journalctl -u coolwsd" + fi + else + echo "⚠ Не удалось перезапустить coolwsd автоматически" + echo " Запустите вручную: systemctl restart coolwsd" + echo " Или проверьте статус: systemctl status coolwsd" + fi + else + echo "⚠ systemctl не найден, перезапустите coolwsd вручную" + fi + + echo "" + echo "Готово. F7_Office брендинг установлен." else echo "Dry-run: команды выше не выполнялись." + echo "Для реальной установки запустите скрипт без --dry-run" fi