696e8eb1b3
URSACHE GEFUNDEN: macOS Installer.app verlangt 10-16 GB freien Speicher als SYSTEMRESERVE - obwohl GStreamer nur 146 MB gross ist. Diese Pruefung blockiert Installationen auf vollen Platten. LOESUNG: HMS-Portable-Install.command - Laedt GStreamer .pkg (146 MB) per curl - Entpackt mit 'pkgutil --expand-full' OHNE Installer.app (keine 16-GB-Pruefung, kein sudo, nichts systemweit) - Kopiert GStreamer.framework in runtime/ im Projektordner - Loescht Download + Temp (gibt ~750 MB zurueck) - Schreibt runtime/env.sh mit allen Umgebungsvariablen - Braucht NUR ca. 800 MB WAHREND der Installation - Danach: ca. 500-600 MB im Projektordner (portable, loeschbar) Integration: - run.py: laedt portable env automatisch VOR gi-Import (DYLD_LIBRARY_PATH, GST_PLUGIN_PATH, GI_TYPELIB_PATH, PYTHONPATH fuer gi-Bindings) - App-Launcher: sourced runtime/env.sh falls vorhanden - launcher_core.py: gleiche portable env-Logik - Freien Speicher pruefen (nur 800 MB noetig, nicht 16 GB) Drei Installationswege jetzt verfuegbar: 1. HMS-Portable-Install.command (wenig Speicher, nichts systemweit) 2. HMS-Mac-Install.command (Homebrew, mehr Komfort) 3. HMS-MediaEngine.app startet mit whichever verfuegbar ist
31 lines
1.1 KiB
Bash
Executable File
31 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# HMS MediaEngine App-Start (vom Finder, ohne sichtbares Terminal)
|
|
DIR="$(cd "$(dirname "$0")/../../.." && pwd)"
|
|
PY=""
|
|
for p in /opt/homebrew/bin/python3 /usr/local/bin/python3 python3; do
|
|
if command -v "$p" >/dev/null 2>&1; then PY="$p"; break; fi
|
|
done
|
|
if [ -z "$PY" ]; then
|
|
osascript -e 'display alert "Python nicht gefunden" message "Bitte HMS-Mac-Install.command im Projektordner einmal ausfuehren - es installiert alles Grafische." as critical' >/dev/null 2>&1
|
|
exit 1
|
|
fi
|
|
cd "$DIR"
|
|
# Portable GStreamer-Umgebung laden (falls HMS-Portable-Install genutzt)
|
|
if [ -f "$DIR/runtime/env.sh" ]; then
|
|
source "$DIR/runtime/env.sh"
|
|
fi
|
|
if "$PY" -c "import gi; gi.require_version('Gst','1.0')" >/dev/null 2>&1; then
|
|
nohup "$PY" "$DIR/run.py" >>/tmp/hms-mediaengine.log 2>&1 &
|
|
PORT=8080
|
|
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
|
|
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40; do
|
|
curl -s -o /dev/null "http://localhost:$PORT/api/health" && break
|
|
sleep 0.5
|
|
done
|
|
open "http://localhost:$PORT"
|
|
exit 0
|
|
else
|
|
nohup "$PY" "$DIR/installer_gui.py" >/tmp/hms-installer.log 2>&1 &
|
|
exit 0
|
|
fi
|