[PR #4607] Simplify ARM cross-compilation and add Arch Linux packaging support and binary generation #4300

Open
opened 2026-04-25 00:19:11 +02:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/advplyr/audiobookshelf/pull/4607
Author: @binyaminyblatt
Created: 8/19/2025
Status: 🔄 Open

Base: masterHead: better-linux-packaging


📝 Commits (2)

  • 9ef873f Add Arch Linux packaging, cross-compilation support, and binary generation
  • b293da1 Add LICENSE file and update PKGBUILD to include license installation

📊 Changes

9 files changed (+931 additions, -20 deletions)

View changed files

build/arch/LICENSE (+674 -0)
build/arch/PKGBUILD (+30 -0)
build/arch/audiobookshelf.conf (+12 -0)
build/arch/audiobookshelf.hook (+9 -0)
build/arch/audiobookshelf.service (+16 -0)
build/arch/audiobookshelf.sysusers (+2 -0)
build/arch/audiobookshelf.tmpfiles (+2 -0)
📝 build/linuxpackager (+178 -20)
📝 package.json (+8 -0)

📄 Description

Changes in this PR:

Arch Linux Packaging:

  • Implemented support for building Arch Linux packages (.pkg.tar.zst).
  • Introduced Arch-specific configuration files (service, sysusers, tmpfiles) for easier system integration.
  • Automatically configures the PKGBUILD file based on the target architecture (x86_64 or aarch64).

Cross-Compilation:

  • Added the ability to cross-compile ARM (aarch64) binaries on x86_64 systems.
  • Enabled the generation of binaries for both x86_64 and aarch64 architectures

Binary Generation

  • Binary generation for both x86_64 and aarch64 architectures, facilitating easier distribution

Benefits:

  • Easier deployment on Arch-based systems.
  • Enhanced support for both AMD64 and ARM64 architectures.
  • Simplified cross-compilation process for ARM64 on x86_64 machines.

Testing:

Tested on Manjaro (x86_64):

  • Built and tested the x86_64 binaries directly on my Arch Linux PC, ensuring that the generated binaries run as expected.

Tested on Raspberry Pi (aarch64) running Manjaro:

  • Built the aarch64 binaries on my Manjaro x86_64 PC using cross-compilation.
  • Tested the ARM64 binaries by running them on a Raspberry Pi (Raspberry Pi 5, 64-bit) to ensure compatibility and functionality.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/advplyr/audiobookshelf/pull/4607 **Author:** [@binyaminyblatt](https://github.com/binyaminyblatt) **Created:** 8/19/2025 **Status:** 🔄 Open **Base:** `master` ← **Head:** `better-linux-packaging` --- ### 📝 Commits (2) - [`9ef873f`](https://github.com/advplyr/audiobookshelf/commit/9ef873fab67f7eff17dadf0ef0c3022f16d2a850) Add Arch Linux packaging, cross-compilation support, and binary generation - [`b293da1`](https://github.com/advplyr/audiobookshelf/commit/b293da1e47135eaa6914f9a943ad6a201ce3f648) Add LICENSE file and update PKGBUILD to include license installation ### 📊 Changes **9 files changed** (+931 additions, -20 deletions) <details> <summary>View changed files</summary> ➕ `build/arch/LICENSE` (+674 -0) ➕ `build/arch/PKGBUILD` (+30 -0) ➕ `build/arch/audiobookshelf.conf` (+12 -0) ➕ `build/arch/audiobookshelf.hook` (+9 -0) ➕ `build/arch/audiobookshelf.service` (+16 -0) ➕ `build/arch/audiobookshelf.sysusers` (+2 -0) ➕ `build/arch/audiobookshelf.tmpfiles` (+2 -0) 📝 `build/linuxpackager` (+178 -20) 📝 `package.json` (+8 -0) </details> ### 📄 Description # Changes in this PR: ## Arch Linux Packaging: - Implemented support for building Arch Linux packages (.pkg.tar.zst). - Introduced Arch-specific configuration files (service, sysusers, tmpfiles) for easier system integration. - Automatically configures the PKGBUILD file based on the target architecture (x86_64 or aarch64). ## Cross-Compilation: - Added the ability to cross-compile ARM (aarch64) binaries on x86_64 systems. - Enabled the generation of binaries for both x86_64 and aarch64 architectures ## Binary Generation - Binary generation for both x86_64 and aarch64 architectures, facilitating easier distribution # Benefits: - Easier deployment on Arch-based systems. - Enhanced support for both AMD64 and ARM64 architectures. - Simplified cross-compilation process for ARM64 on x86_64 machines. # Testing: ## Tested on Manjaro (x86_64): - Built and tested the x86_64 binaries directly on my Arch Linux PC, ensuring that the generated binaries run as expected. ## Tested on Raspberry Pi (aarch64) running Manjaro: - Built the aarch64 binaries on my Manjaro x86_64 PC using cross-compilation. - Tested the ARM64 binaries by running them on a Raspberry Pi (Raspberry Pi 5, 64-bit) to ensure compatibility and functionality. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2026-04-25 00:19:11 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#4300