Files
pdf_to_ics/BUILD_STANDALONE.md

2.5 KiB

Standalone Builds (Linux, macOS, Windows)

Diese Anleitung erstellt eigenständige Anwendungen mit PyInstaller auf dem jeweiligen Zielbetriebssystem.

Wichtig

  • Builds müssen nativ pro OS erstellt werden (kein Cross-Compile mit diesen Skripten).
  • Verwenden Sie eine aktive und funktionierende .venv im Projektordner.
  • Die GUI wird aus gui_wxpython.py gebaut.

Release auf einen Blick

Linux

./build/build_linux.sh
./build/package_linux.sh

macOS

./build/build_macos.sh
./build/package_macos.sh

Windows

build\build_windows.cmd
build\package_windows.cmd

Empfohlene Release-Reihenfolge

  1. Version erhöhen (z. B. version.txt und Changelog)
  2. Pro Zielplattform Build + Packaging ausführen
  3. Artefakte im release/-Ordner prüfen
  4. Git-Commit erstellen und Tag setzen (z. B. v1.2.0)
  5. Tag und Branch pushen
  6. Release-Artefakte auf der Release-Seite hochladen

Beispiel Git-Workflow:

git add -A
git commit -m "Release x.y.z"
git tag -a vx.y.z -m "vx.y.z"
git push origin main
git push origin vx.y.z

Optional per CI:

  • Workflow: .gitea/workflows/build-standalone-release.yml
  • Trigger: Tag-Push v*
  • Ergebnis: Plattform-Artefakte als CI-Artefakte

Linux

chmod +x build/build_linux.sh
./build/build_linux.sh

Ergebnis:

  • dist/PDFtoICS/ (Ordner mit ausführbarer Datei)

Optional als Release-Archiv (.tar.gz) verpacken:

chmod +x build/package_linux.sh
./build/package_linux.sh

Ergebnis:

  • release/PDFtoICS-linux-v<VERSION>.tar.gz

macOS

chmod +x build/build_macos.sh
./build/build_macos.sh

Ergebnis:

  • dist/PDFtoICS.app

Hinweis:

  • Für öffentliche Verteilung ist Code-Signing/Notarisierung empfohlen.

Optional als Release-Archiv (.zip) verpacken:

chmod +x build/package_macos.sh
./build/package_macos.sh

Ergebnis:

  • release/PDFtoICS-macos-v<VERSION>.zip

Windows

Starten Sie unter Windows:

build\build_windows.cmd

Ergebnis:

  • dist\PDFtoICS\PDFtoICS.exe

Hinweis:

  • Für weniger SmartScreen-Warnungen ist Signierung empfohlen.

Optional als Release-Archiv (.zip) verpacken:

build\package_windows.cmd

Ergebnis:

  • release\PDFtoICS-windows-v<VERSION>.zip

Clean Build

PyInstaller erstellt build/ und dist/ sowie eine .spec Datei im Projektverzeichnis.

Optionales Aufräumen:

rm -rf build dist *.spec

Unter Windows:

rmdir /s /q build
rmdir /s /q dist
del /q *.spec