2 Commits
Author SHA1 Message Date
sarahandClaude Opus 5.5 2ebef97be1 Version 1.2.1
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 09:23:39 +02:00
sarahandClaude Opus 5.5 d7db153c24 Build AppImages for older glibc
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 09:13:49 +02:00
2 changed files with 18 additions and 8 deletions

No files matched your search

+1 -1
View File
@@ -23,7 +23,7 @@ import tomlkit
AppName = "SaraSuite"
# Compared with the latest Gitea release to offer self-updates (SelfUpdate.py).
# Bump it, then run Packaging/Release.py, to publish a new SaraSuite.
AppVersion = "1.2.0"
AppVersion = "1.2.1"
IsFrozen = bool(getattr(sys, "frozen", False)) # running from the AppImage / .exe
IsWindows = sys.platform == "win32"
Platform = "Windows" if IsWindows else "Linux" # matches manifests' Platforms / Platform
+17 -7
View File
@@ -1,18 +1,28 @@
#!/bin/bash
# Builds dist/SaraSuite-x86_64.AppImage: a PyInstaller one-file build (with
# the program manifests, fonts and icon bundled) wrapped by appimagetool,
# the same way SaraFem's AppImage is made. Needs appimagetool on PATH.
# the same way SaraFem's AppImage is made. Needs podman and appimagetool
# on PATH.
set -euo pipefail
cd "$(dirname "$(readlink -f "$0")")/.."
.venv/bin/pip install --quiet --disable-pip-version-check pyinstaller
find Programs -name __pycache__ -type d -prune -exec rm -rf {} +
.venv/bin/pyinstaller --noconfirm --clean --log-level WARN \
--onefile --windowed --name SaraSuite --collect-data flet \
--add-data "$PWD/assets:assets" --add-data "$PWD/Programs:Programs" \
--distpath build/PyInstaller/dist --workpath build/PyInstaller/work --specpath build/PyInstaller \
"$PWD/Main.py"
# PyInstaller runs in a manylinux_2_28 container (glibc 2.28) with uv's
# portable Python, not with Fedora's: PyInstaller bundles libpython, and
# Fedora's needs a newer glibc than many distros have ("GLIBC_ABI_GNU2_TLS
# not found"). The Python, venv and downloads are cached in build/Container.
mkdir -p build/Container
podman run --rm --security-opt label=disable -v "$PWD:/src" -w /src \
-e UV_CACHE_DIR=/src/build/Container/cache -e UV_PYTHON_INSTALL_DIR=/src/build/Container/python \
quay.io/pypa/manylinux_2_28_x86_64 bash -euo pipefail -c '
uv venv --quiet --allow-existing --managed-python --python 3.14 build/Container/venv
uv pip install --quiet --python build/Container/venv -r requirements.txt flet-desktop pyinstaller
build/Container/venv/bin/pyinstaller --noconfirm --clean --log-level WARN \
--onefile --windowed --name SaraSuite --collect-data flet \
--add-data "$PWD/assets:assets" --add-data "$PWD/Programs:Programs" \
--distpath build/PyInstaller/dist --workpath build/PyInstaller/work --specpath build/PyInstaller \
"$PWD/Main.py"'
AppDir=build/AppDir
rm -rf "$AppDir"