Add Arch Linux packaging, cross-compilation support, and binary generation

- Introduce Arch Linux package build process, supporting both x86_64 and aarch64 architectures.
- Add Arch-specific configuration files for service, sysusers, and tmpfiles to facilitate system integration.
- Update packaging script to dynamically handle Arch-specific builds and configure PKGBUILD fields.
- Add cross-compilation support, enabling building for ARM (aarch64) on x86_64 systems.
- Implement binary generation for both architectures, allowing separate or unified binary outputs.
- Include npm scripts to automate Arch build and cross-compilation processes.
- Simplify deployment and integration for Arch-based systems.
This commit is contained in:
Binyamin Blatt 2025-08-19 14:45:39 +03:00
parent a89a24e48e
commit 9ef873fab6
No known key found for this signature in database
GPG key ID: 3DE4B144943A5CDA
8 changed files with 257 additions and 20 deletions

View file

@ -12,6 +12,14 @@
"prod": "npm run client && npm ci && node index.js",
"build-win": "npm run client && pkg -t node20-win-x64 -o ./dist/win/audiobookshelf -C GZip .",
"build-linux": "build/linuxpackager",
"build-linux-amd64": "build/linuxpackager amd64",
"build-linux-arm64": "build/linuxpackager arm64",
"build-linux-arch": "build/linuxpackager --arch-linux",
"build-linux-arch-amd64": "build/linuxpackager amd64 --arch-linux",
"build-linux-arch-arm64": "build/linuxpackager arm64 --arch-linux",
"build-linux-binary": "build/linuxpackager --binary-only",
"build-linux-amd64-binary": "build/linuxpackager amd64 --binary-only",
"build-linux-arm64-binary": "build/linuxpackager arm64 --binary-only",
"docker": "docker buildx build --platform linux/amd64,linux/arm64 --push . -t advplyr/audiobookshelf",
"docker-amd64-local": "docker buildx build --platform linux/amd64 --load . -t advplyr/audiobookshelf-amd64-local",
"docker-arm64-local": "docker buildx build --platform linux/arm64 --load . -t advplyr/audiobookshelf-arm64-local",