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