fix: install.sh 清理 QML 磁盘缓存和安装目录残留文件

This commit is contained in:
2026-07-19 16:43:55 +08:00
parent 6bc1a3e3fb
commit 6325fb51cc
+38 -12
View File
@@ -4,23 +4,49 @@
set -e set -e
echo "Building JNetApplet..." INSTALL_DIR="/usr/share/dde-shell/space.jokul.JNetApplet"
SO_DIR="/usr/lib/x86_64-linux-gnu/dde-shell"
# 清理旧的构建目录 echo "=== JNetApplet 安装脚本 ==="
# 1. 清理旧的构建目录
echo "[1/6] 清理构建目录..."
rm -rf build rm -rf build
# 配置CMake # 2. 配置 + 构建
cmake -Bbuild echo "[2/6] 配置 CMake 并构建..."
cmake -B build
# 构建
cmake --build build cmake --build build
echo "Installing JNetApplet (requires sudo)..." # 3. 清理安装目录中残留的旧文件(包括之前重构产生的多余 QML 文件)
echo "[3/6] 清理安装目录中的旧文件..."
if [ -d "$INSTALL_DIR" ]; then
sudo rm -f "$INSTALL_DIR"/*.qml "$INSTALL_DIR"/*.qmlc
fi
# 安装 # 4. 清理 Qt QML 磁盘缓存(关键!否则 dde-shell 可能使用旧的编译缓存)
echo "[4/6] 清理 QML 磁盘缓存..."
rm -rf ~/.cache/preloader/qmlcache/ 2>/dev/null || true
find ~/.cache -path "*/dde-shell*" -name "*.qmlc" -delete 2>/dev/null || true
# 5. 安装
echo "[5/6] 安装插件(需要 sudo..."
sudo cmake --install build sudo cmake --install build
echo "Installation complete!" # 验证安装结果
echo "Restarting dde-shell..." echo ""
systemctl --user restart dde-shell@DDE echo "=== 安装验证 ==="
echo "Done! Plugin loaded." echo "QML 文件:"
ls -la "$INSTALL_DIR"/*.qml 2>/dev/null || echo " [警告] 未找到 QML 文件!"
echo "动态库:"
ls -la "$SO_DIR"/space.jokul.JNetApplet.so 2>/dev/null || echo " [警告] 未找到 .so 文件!"
echo "metadata.json 版本:"
grep '"Version"' "$INSTALL_DIR/metadata.json" 2>/dev/null || echo " [警告] 未找到 metadata.json"
echo ""
# 6. 重启 dde-shell
echo "[6/6] 重启 dde-shell..."
systemctl --user stop dde-shell@DDE 2>/dev/null || true
sleep 1
systemctl --user start dde-shell@DDE
echo "完成!插件已加载。"