Build irserver on the device on a 64-bit or trixie userland

The shipped irserver is a 32-bit ARM binary linked against libzip.so.4, which only
exists on armhf with Debian 12 or older. On a 64-bit userland or trixie it cannot run,
so the role now compiles the bundled 2019 sources on the device there, with GCC 14's
new hard errors (implicit declarations, implicit int, pointer/int mix-ups) downgraded
rather than the old code patched. Picked from `dpkg --print-architecture` and the
distribution version; `pi_irserver_build_from_source: true|false` forces it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-02 23:14:18 +02:00
parent a0546f5fa6
commit f6a169afaa
4 changed files with 74 additions and 1 deletions

View File

@@ -0,0 +1,6 @@
---
# The shipped files/irserver is a 32-bit ARM binary linked against libzip.so.4 (Debian
# bookworm's libzip4 on armhf). It cannot run on a 64-bit userland, and trixie no longer
# ships libzip.so.4 at all. "auto" uses it only on armhf + Debian <= 12 and compiles
# files/irserver-src.tar.gz on the device everywhere else; set true/false to force.
pi_irserver_build_from_source: auto