mirror of
https://git.srhtnin.garden/sarah/SaraSort.git
synced 2026-10-13 18:28:18 +02:00
Flowchart of inputs/outputs with editable arrows, service page (status, controls, autostart, version, logs), config editor (form + raw), templates, tools (warnings, filename tester, failed files) and settings with SaraFem-compatible export/import. AppImage build and a SaraSuite manifest in Packaging/. Co-Authored-By: Claude Opus 5.5 <[email protected]>
39 lines
1.3 KiB
Bash
Executable File
39 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Builds dist/SaraSort-x86_64.AppImage: a PyInstaller one-file build (with
|
|
# the font and icon bundled) wrapped by appimagetool, the same way SaraSuite's
|
|
# and SaraFem's AppImages are made. Needs appimagetool on PATH.
|
|
set -euo pipefail
|
|
cd "$(dirname "$(readlink -f "$0")")/.."
|
|
|
|
[ -d .venv ] || python3 -m venv .venv
|
|
.venv/bin/pip install --quiet --disable-pip-version-check -r requirements.txt pyinstaller
|
|
|
|
# --collect-data flet: without it ft.Icons crashes when frozen.
|
|
.venv/bin/pyinstaller --noconfirm --clean --log-level WARN \
|
|
--onefile --windowed --name SaraSort --collect-data flet \
|
|
--add-data "$PWD/assets:assets" \
|
|
--distpath build/PyInstaller/dist --workpath build/PyInstaller/work --specpath build/PyInstaller \
|
|
"$PWD/Main.py"
|
|
|
|
AppDir=build/AppDir
|
|
rm -rf "$AppDir"
|
|
mkdir -p "$AppDir/usr/bin"
|
|
cp build/PyInstaller/dist/SaraSort "$AppDir/usr/bin/SaraSort"
|
|
ln -s usr/bin/SaraSort "$AppDir/AppRun"
|
|
cp assets/Icon.png "$AppDir/SaraSort.png"
|
|
ln -s SaraSort.png "$AppDir/.DirIcon"
|
|
cat > "$AppDir/SaraSort.desktop" << DESKTOP
|
|
[Desktop Entry]
|
|
Type=Application
|
|
Name=SaraSort
|
|
Comment=Configure SaraSortd, the file sorting daemon
|
|
Exec=SaraSort
|
|
Icon=SaraSort
|
|
Terminal=false
|
|
Categories=Utility;
|
|
DESKTOP
|
|
|
|
mkdir -p dist
|
|
ARCH=x86_64 appimagetool --no-appstream "$AppDir" dist/SaraSort-x86_64.AppImage
|
|
echo "Built dist/SaraSort-x86_64.AppImage"
|