Compare commits

...
1 Commits
Author SHA1 Message Date
duffyduckandClaude Opus 4.8 f18db41292 feat(host-agent): Docker-loser Native-Build + Live-ISO-Hinweis
Docker-Build scheitert auf Live-ISOs (overlayfs-Root -> overlay2 kann kein
Overlay-auf-Overlay stapeln: 'failed to mount ... invalid argument'). Ergaenzt:
- build-native.sh: PyInstaller in einem venv, ohne Docker (Warnung: linkt gegen
  lokales glibc).
- README: Live-ISO-Ursache erklaert + zwei Auswege (Binary woanders bauen und
  kopieren [empfohlen, portabel] oder nativ bauen).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-24 16:42:39 +02:00
3 changed files with 44 additions and 0 deletions
+1
View File
@@ -1,5 +1,6 @@
.env
build/
dist/
.buildenv/
*.spec
__pycache__/
+18
View File
@@ -30,6 +30,24 @@ ARIA nutzt diese über die Brain-Tools `host_list` / `host_exec` / `host_read` /
Gebaut wird in einem bullseye-Container (altes glibc), damit die Binary auf
möglichst vielen Distributionen läuft.
### Docker scheitert? (Live-ISO / overlayfs-Root)
Wenn `build.sh` mit `failed to mount … overlayfs … invalid argument` abbricht,
läufst du wahrscheinlich auf einem **Live-System** (Live-ISO). Dessen Root ist
selbst ein overlayfs, und Dockers `overlay2`-Treiber kann kein Overlay-auf-
Overlay stapeln. Zwei Auswege:
- **Empfohlen:** Binary auf einem normal installierten Linux bauen (`./build.sh`)
und nur die fertige `dist/aria-host-agent` aufs Live-System kopieren. Die
Binary ist portabel — Ziel braucht weder Docker noch Python.
- **Nativ bauen (ohne Docker):**
```bash
sudo apt install -y python3-pip python3-venv
./build-native.sh
```
Achtung: nativ gebaut linkt die Binary gegen das glibc **dieser** Maschine —
sie läuft dann nur auf Systemen mit gleichem oder neuerem glibc.
## Installieren
1. `dist/aria-host-agent` auf den Ziel-Rechner kopieren.
+25
View File
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
# Baut die Host-Agent-Binary OHNE Docker — direkt mit PyInstaller.
# Nutze das, wenn Docker nicht geht (z.B. Live-ISO mit overlayfs-Root, wo
# Dockers overlay2-Treiber kein Overlay-auf-Overlay stapeln kann).
#
# sudo apt install -y python3-pip python3-venv # falls noch nicht da
# ./build-native.sh
#
# WICHTIG: Nativ gebaut linkt die Binary gegen das glibc DIESER Maschine. Sie
# laeuft dann nur auf Systemen mit glibc >= dem hier. Fuer breite Kompatibilitaet
# lieber ./build.sh (Docker/bullseye) auf einem normalen Rechner nutzen.
set -euo pipefail
cd "$(dirname "$0")"
python3 -m venv .buildenv
# shellcheck disable=SC1091
. .buildenv/bin/activate
pip install --quiet --upgrade pip
pip install --quiet pyinstaller -r requirements.txt
pyinstaller --onefile --name aria-host-agent --collect-all psutil host_agent.py
deactivate
echo
echo "Fertig: dist/aria-host-agent"
echo ".env danebenlegen (siehe .env.example), dann: chmod +x aria-host-agent && ./aria-host-agent"