49 lines
1.4 KiB
Shell
49 lines
1.4 KiB
Shell
#!/bin/bash
|
|
# Build Zupt GUI AppImage
|
|
# Requires: appimagetool, python3, pip
|
|
set -e
|
|
|
|
APP="zupt-gui"
|
|
VERSION="1.0.0"
|
|
APPDIR="${APP}.AppDir"
|
|
|
|
rm -rf "$APPDIR" "${APP}-${VERSION}-x86_64.AppImage"
|
|
mkdir -p "$APPDIR/usr/bin" "$APPDIR/usr/share/zupt-gui" "$APPDIR/usr/share/applications" "$APPDIR/usr/share/icons/hicolor/256x256/apps"
|
|
|
|
# Install Python + deps into AppDir
|
|
python3 -m venv "$APPDIR/usr/python"
|
|
"$APPDIR/usr/python/bin/pip" install PySide6 --quiet
|
|
|
|
# Copy app
|
|
cp ../../src/zupt_gui.py "$APPDIR/usr/share/zupt-gui/"
|
|
cp ../../assets/zupt.png "$APPDIR/usr/share/icons/hicolor/256x256/apps/zupt-gui.png" 2>/dev/null || true
|
|
|
|
# Create launcher
|
|
cat > "$APPDIR/AppRun" << 'APPRUN'
|
|
#!/bin/bash
|
|
HERE="$(dirname "$(readlink -f "$0")")"
|
|
export PATH="$HERE/usr/bin:$HERE/usr/python/bin:$PATH"
|
|
exec python3 "$HERE/usr/share/zupt-gui/zupt_gui.py" "$@"
|
|
APPRUN
|
|
chmod +x "$APPDIR/AppRun"
|
|
|
|
# Desktop file
|
|
cat > "$APPDIR/${APP}.desktop" << DESKTOP
|
|
[Desktop Entry]
|
|
Type=Application
|
|
Name=Zupt GUI
|
|
Comment=Post-Quantum Backup Utility
|
|
Exec=zupt-gui
|
|
Icon=zupt-gui
|
|
Categories=Utility;Archiving;Security;
|
|
Terminal=false
|
|
DESKTOP
|
|
|
|
# Build AppImage
|
|
if command -v appimagetool >/dev/null; then
|
|
ARCH=x86_64 appimagetool "$APPDIR" "${APP}-${VERSION}-x86_64.AppImage"
|
|
echo "Built: ${APP}-${VERSION}-x86_64.AppImage"
|
|
else
|
|
echo "appimagetool not found. Install from https://github.com/AppImage/AppImageKit"
|
|
echo "AppDir ready at: $APPDIR/"
|
|
fi
|