From 2a182808639d010f919c2caa5aeabad95c3bedac Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sun, 25 Oct 2026 14:17:33 +0100 Subject: [PATCH] feat(host-agent): Linux-Release als Zip mit Dienst-Installer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Statt der nackten Binary haengt release_agent.sh jetzt aria-host-agent-linux-x64-v.zip an: Binary, install-service.sh, aria-host-agent.service, .env.example und LIESMICH.txt (Start direkt oder als systemd-Dienst). Ausfuehrbar-Rechte bleiben beim Entpacken erhalten. install-service.sh startet den Dienst neu statt nur "enable --now" — so laedt ein Update die neue Binary auch, wenn der Dienst schon laeuft. Co-Authored-By: Claude Opus 5.5 --- host-agent/README.md | 5 ++++- host-agent/install-service.sh | 5 ++++- host-agent/release_agent.sh | 34 +++++++++++++++++++++++++++++++++- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/host-agent/README.md b/host-agent/README.md index 15f182c..f9869ee 100644 --- a/host-agent/README.md +++ b/host-agent/README.md @@ -151,7 +151,10 @@ Danach die `.env` unter `%ProgramData%\ARIA-Host-Agent\` mit RVS-Zugang + SKIP_WINDOWS=1 ./release_agent.sh # ohne Windows (schneller) ``` -Assets: `aria-host-agent-linux-x64`, `aria-host-agent-android-agent-v.apk`, +Assets: `aria-host-agent-linux-x64-v.zip` (Binary + `install-service.sh` + +systemd-Unit + `.env.example` + `LIESMICH.txt` — entpacken, `.env` anlegen, dann +`./aria-host-agent` oder als Dienst `sudo ./install-service.sh ./.env`), +`aria-host-agent-android-agent-v.apk`, `aria-host-agent-windows.exe`, `aria-host-agent-windows-setup.exe`. **macOS** ist nicht Docker-baubar — auf einem Mac `./build-native.sh` laufen lassen und das Ergebnis vor dem Release nach `dist/aria-host-agent-macos` legen, dann nimmt das diff --git a/host-agent/install-service.sh b/host-agent/install-service.sh index ff96c95..e1c9ff1 100755 --- a/host-agent/install-service.sh +++ b/host-agent/install-service.sh @@ -66,7 +66,10 @@ else fi systemctl daemon-reload -systemctl enable --now aria-host-agent +systemctl enable aria-host-agent +# restart statt "enable --now": bei einem Update laeuft der Dienst schon und +# muss die NEUE Binary laden +systemctl restart aria-host-agent echo echo "✓ Installiert & gestartet." diff --git a/host-agent/release_agent.sh b/host-agent/release_agent.sh index cc5cfcf..da6a16c 100755 --- a/host-agent/release_agent.sh +++ b/host-agent/release_agent.sh @@ -106,6 +106,38 @@ LINUX_BIN="$SCRIPT_DIR/dist/aria-host-agent" [ -f "$LINUX_BIN" ] || { echo -e "${RED}Linux-Binary fehlt: $LINUX_BIN${NC}"; exit 1; } echo -e " ${GREEN}✓${NC} Linux-Binary ($(du -h "$LINUX_BIN" | cut -f1))" +# Linux-Paket: Binary + Dienst-Installer + Unit + .env-Vorlage in EINER Zip — +# entpacken, .env anlegen, optional als Dienst installieren. +LINUX_PKG_NAME="aria-host-agent-linux-x64-v$VERSION" +LINUX_ZIP="$SCRIPT_DIR/dist/$LINUX_PKG_NAME.zip" +PKG_TMP="$(mktemp -d)" +mkdir -p "$PKG_TMP/$LINUX_PKG_NAME" +install -m 0755 "$LINUX_BIN" "$PKG_TMP/$LINUX_PKG_NAME/aria-host-agent" +install -m 0755 install-service.sh "$PKG_TMP/$LINUX_PKG_NAME/install-service.sh" +install -m 0644 aria-host-agent.service "$PKG_TMP/$LINUX_PKG_NAME/aria-host-agent.service" +install -m 0644 .env.example "$PKG_TMP/$LINUX_PKG_NAME/.env.example" +cat > "$PKG_TMP/$LINUX_PKG_NAME/LIESMICH.txt" </dev/null ) APK="$SCRIPT_DIR/android/dist/aria-android-agent.apk" [ -f "$APK" ] || { echo -e "${RED}APK fehlt: $APK${NC}"; exit 1; } @@ -130,7 +162,7 @@ echo "" # Asset-Liste aufbauen: "lokaler_pfad::asset-name" ASSETS=( - "$LINUX_BIN::aria-host-agent-linux-x64" + "$LINUX_ZIP::$LINUX_PKG_NAME.zip" "$APK::aria-host-agent-android-$TAG.apk" ) # Native Artefakte (nur wenn vorhanden): Windows aus build-win.sh, macOS