diff --git a/.github/workflows/test-appimage-native.yml b/.github/workflows/test-appimage-native.yml index 163709e0..6bbdeba9 100644 --- a/.github/workflows/test-appimage-native.yml +++ b/.github/workflows/test-appimage-native.yml @@ -45,7 +45,8 @@ jobs: test "$(uname -m)" = '${{ matrix.arch }}' python -B -m unittest discover -s tests -p test_appimage_arch.py -v - name: Refresh package indexes for bundled monitoring tools - run: sudo apt-get update + # Third-party runner repositories occasionally fail; the build reports missing tools. + run: sudo apt-get update || true - name: Build native AppImage without publishing it run: bash AppImage/scripts/build_appimage.sh - name: Reject foreign ELF payloads diff --git a/AppImage/scripts/build_appimage.sh b/AppImage/scripts/build_appimage.sh index 1b28e223..be49cf1c 100755 --- a/AppImage/scripts/build_appimage.sh +++ b/AppImage/scripts/build_appimage.sh @@ -70,8 +70,15 @@ if [ ! -s "$WORK_DIR/appimagetool" ]; then cp -f "$WORK_DIR/appimagetool" "$APPIMAGETOOL_CACHE" fi +APPIMAGETOOL_ARGS=() if [ "$PMX_APPIMAGE_ARCH" = aarch64 ]; then echo "f0837e7448a0c1e4e650a93bb3e85802546e60654ef287576f46c71c126a9158 $WORK_DIR/appimagetool" | sha256sum -c - + # Without --runtime-file, appimagetool 1.9.1 embeds the unpinned + # `continuous` runtime. Use a released runtime checked by its digest. + RUNTIME_URL="https://github.com/AppImage/type2-runtime/releases/download/20251108/runtime-aarch64" + wget --tries=3 --timeout=60 "$RUNTIME_URL" -O "$WORK_DIR/runtime-aarch64" + echo "00cbdfcf917cc6c0ff6d3347d59e0ca1f7f45a6df1a428a0d6d8a78664d87444 $WORK_DIR/runtime-aarch64" | sha256sum -c - + APPIMAGETOOL_ARGS=(--runtime-file "$WORK_DIR/runtime-aarch64") fi # Create directory structure @@ -623,7 +630,7 @@ echo "🔨 Building unified AppImage v${VERSION}..." cd "$WORK_DIR" export NO_CLEANUP=1 export APPIMAGE_EXTRACT_AND_RUN=1 -ARCH="$PMX_APPIMAGE_ARCH" ./appimagetool --no-appstream --verbose "$APP_DIR" "$APPIMAGE_NAME" +ARCH="$PMX_APPIMAGE_ARCH" ./appimagetool --no-appstream --verbose "${APPIMAGETOOL_ARGS[@]}" "$APP_DIR" "$APPIMAGE_NAME" # Move to dist directory mv "$APPIMAGE_NAME" "$DIST_DIR/" diff --git a/lang/de.json b/lang/de.json index 5fb5aba4..5de23f68 100644 --- a/lang/de.json +++ b/lang/de.json @@ -4398,7 +4398,7 @@ "Name or part of the option or of the application": "Name oder Teil der Option oder der Anwendung", "Name:": "Name:", "Named accounts need private mode. Stop the container, set public: false in /config/config.js, start it again and create each user with: pct exec -- env THELOUNGE_HOME=/config s6-setuidgid abc thelounge add ": "Benannte Konten benötigen einen privaten Modus. Stoppen Sie den Container, setzen Sie public: false in /config/config.js, starten Sie ihn erneut und erstellen Sie jeden Benutzer mit: pct exec -- env THELOUNGE_HOME=/config s6-setuidgid abc thelounge add ", - "Native Borg is unavailable. Install the native borgbackup package on this host to use Borg backups.": "Eine native Borg-Version ist nicht verfügbar. Installiere das native Paket borgbackup auf diesem Host, um Borg-Sicherungen zu verwenden.", + "Native Borg is unavailable. Install the native borgbackup package on this host to use Borg backups.": "Natives Borg ist nicht verfügbar. Installieren Sie das native Paket borgbackup auf diesem Host, um Borg-Backups zu verwenden.", "Needed:": "Erforderlich:", "Needs": "Benötigt", "Neither /etc/kernel/cmdline nor /etc/default/grub found.": "Weder /etc/kernel/cmdline noch /etc/default/grub gefunden.", diff --git a/lang/es.json b/lang/es.json index df469663..5948fc98 100644 --- a/lang/es.json +++ b/lang/es.json @@ -4393,7 +4393,7 @@ "Name or part of the option or of the application": "Nombre o parte de la opción o de la aplicación", "Name:": "Nombre:", "Named accounts need private mode. Stop the container, set public: false in /config/config.js, start it again and create each user with: pct exec -- env THELOUNGE_HOME=/config s6-setuidgid abc thelounge add ": "Las cuentas con nombre necesitan el modo privado. Detén el contenedor, pon public: false en /config/config.js, vuelve a arrancarlo y crea cada usuario con: pct exec -- env THELOUNGE_HOME=/config s6-setuidgid abc thelounge add ", - "Native Borg is unavailable. Install the native borgbackup package on this host to use Borg backups.": "Borg nativo no está disponible. Instala el paquete borgbackup nativo en este host para usar las copias de seguridad de Borg.", + "Native Borg is unavailable. Install the native borgbackup package on this host to use Borg backups.": "Borg nativo no está disponible. Instala el paquete borgbackup nativo en este host para usar los backups de Borg.", "Needed:": "Necesario:", "Needs": "Necesita", "Neither /etc/kernel/cmdline nor /etc/default/grub found.": "No se encontraron /etc/kernel/cmdline ni /etc/default/grub.",