mirror of
https://gitcode.com/JianFeeeee/TrulyMEM-TrueHumanMEM.git
synced 2026-09-20 00:48:52 +00:00
fix: 修复 AppImage 构建脚本的多个问题
- 创建缺失的 usr/share/trulymem 目录
- 修复 desktop 文件分类,使用 X-AI 替代非标准的 AI
- 改进图标文件查找逻辑,支持多个可能的位置
- 添加完整的构建临时文件清理逻辑
- 成功时自动删除 AppDir,失败时保留以便调试
🤖 Generated with CodeArts Agent
This commit is contained in:
@ -11,6 +11,7 @@ fi
|
||||
APPDIR="$PROJECT_ROOT/TrulyMEM.AppDir"
|
||||
rm -rf "$APPDIR"
|
||||
mkdir -p "$APPDIR/usr/bin"
|
||||
mkdir -p "$APPDIR/usr/share/trulymem"
|
||||
echo "===== Step 1: Build binary with PyInstaller ====="
|
||||
VENV_DIR="$PROJECT_ROOT/.venv_appimage"
|
||||
rm -rf "$VENV_DIR"
|
||||
@ -80,9 +81,21 @@ Exec=TrulyMEM %U
|
||||
Icon=trulymem
|
||||
Terminal=true
|
||||
Type=Application
|
||||
Categories=Utility;AI;
|
||||
Categories=Utility;X-AI;
|
||||
EOF
|
||||
[ -f "$PROJECT_ROOT/pic/TrulyMEM.png" ] && cp "$PROJECT_ROOT/pic/TrulyMEM.png" "$APPDIR/trulymem.png"
|
||||
# Copy icon file (try multiple possible locations)
|
||||
if [ -f "$PROJECT_ROOT/pic/TrulyMEM.png" ]; then
|
||||
cp "$PROJECT_ROOT/pic/TrulyMEM.png" "$APPDIR/trulymem.png"
|
||||
elif [ -f "$PROJECT_ROOT/pic/TrulyMEM.iconset/icon_256x256.png" ]; then
|
||||
cp "$PROJECT_ROOT/pic/TrulyMEM.iconset/icon_256x256.png" "$APPDIR/trulymem.png"
|
||||
elif [ -f "$PROJECT_ROOT/pic/TrulyMEM.iconset/icon_128x128.png" ]; then
|
||||
cp "$PROJECT_ROOT/pic/TrulyMEM.iconset/icon_128x128.png" "$APPDIR/trulymem.png"
|
||||
else
|
||||
echo "Warning: No icon file found, creating placeholder"
|
||||
# Create a simple placeholder icon
|
||||
convert -size 256x256 xc:blue "$APPDIR/trulymem.png" 2>/dev/null || \
|
||||
echo "Note: Install ImageMagick to generate placeholder icon"
|
||||
fi
|
||||
APPIMAGE="$PROJECT_ROOT/TrulyMEM.AppImage"
|
||||
rm -f "$APPIMAGE"
|
||||
echo "===== Step 3: Package as AppImage ====="
|
||||
@ -108,7 +121,17 @@ fi
|
||||
echo "===== Build Complete ====="
|
||||
[ -f "$APPIMAGE" ] && echo "AppImage: $APPIMAGE" && ls -la "$APPIMAGE"
|
||||
[ -d "$APPDIR" ] && echo "AppDir: $APPDIR (can be packaged manually with appimagetool)"
|
||||
echo "===== Cleaning up build artifacts ====="
|
||||
deactivate
|
||||
rm -rf "$VENV_DIR"
|
||||
rm -rf "$PROJECT_ROOT/build/pyinstaller_build"
|
||||
rm -rf "$PROJECT_ROOT/build/pyinstaller_build"
|
||||
rm -f /tmp/appimagetool
|
||||
# Only remove AppDir if AppImage was successfully created
|
||||
if [ -f "$APPIMAGE" ]; then
|
||||
echo "Removing AppDir since AppImage was created successfully"
|
||||
rm -rf "$APPDIR"
|
||||
else
|
||||
echo "Keeping AppDir for manual packaging"
|
||||
fi
|
||||
echo "Done!"
|
||||
Reference in New Issue
Block a user