Вроде работает

This commit is contained in:
Likaon
2026-05-27 11:45:40 +03:00
parent cd82b9669a
commit d990b283ae

View File

@@ -1,26 +1,71 @@
#!/bin/bash
# uninstall.sh - Удаление Stego App
# Запуск: chmod +x uninstall.sh && ./uninstall.sh
set -e
echo "=========================================="
echo "Удаление Stego App"
echo "=========================================="
# 1. Удаление через pipx
pipx uninstall stego-app
PROJECT_DIR="$(pwd)"
USER_BIN="$HOME/.local/bin"
echo "✓ Пакет удалён"
# 1. Удаление запускаторов
echo "Удаление запускаторов..."
rm -f "$USER_BIN/stego"
rm -f "$USER_BIN/stego-gui"
echo "✓ Запускаторы удалены"
# 2. Удаление иконки
echo "Удаление иконки..."
sudo rm -rf /usr/local/share/stego
echo "✓ Иконка удалена"
# 3. Удаление .desktop файла
echo "Удаление ярлыка..."
# 3. Удаление .desktop файла из меню
echo "Удаление ярлыка из меню..."
rm -f ~/.local/share/applications/stego.desktop
update-desktop-database ~/.local/share/applications/ 2>/dev/null || true
echo "✓ Ярлык из меню удалён"
# 4. Обновление базы приложений
sudo update-desktop-database
# 4. Удаление ярлыка с рабочего стола (если есть)
echo "Удаление ярлыка с рабочего стола..."
rm -f ~/Desktop/stego.desktop
rm -f ~/Рабочий\ стол/stego.desktop
echo "✓ Ярлык с рабочего стола удалён"
# 5. Удаление виртуального окружения (опционально)
read -p "Удалить виртуальное окружение (.venv)? (y/n): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
rm -rf "$PROJECT_DIR/.venv"
echo "✓ Виртуальное окружение удалено"
else
echo "Виртуальное окружение сохранено"
fi
# 6. Удаление через pipx (если установлено, без ошибок)
if command -v pipx &> /dev/null; then
if pipx list 2>/dev/null | grep -q "stego-app"; then
pipx uninstall stego-app
echo "✓ Пакет stego-app удалён через pipx"
else
echo " Пакет stego-app не найден в pipx (пропускаем)"
fi
fi
# 7. Очистка кэша Python
echo "Очистка кэша Python..."
find "$PROJECT_DIR" -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true
find "$PROJECT_DIR" -type f -name "*.pyc" -delete 2>/dev/null || true
echo "✓ Кэш очищен"
# 8. Очистка PATH от ~/.local/bin (только если ничего не осталось)
if [ ! -f "$USER_BIN/stego" ] && [ ! -f "$USER_BIN/stego-gui" ]; then
echo " Запускаторы удалены"
fi
echo ""
echo "=========================================="
echo "Удаление завершено!"
echo "Удаление завершено!"
echo "=========================================="