Bundle selection is now architecture-aware, not just codename-aware, and the no-compatible-bundle failure names the host architecture. Merged into the fpagent-installer spec and archived the change.
1.9 KiB
1.9 KiB
Proposal: fpagent-installer-multiarch
Why
The hosted installer only ever picks the x86_64 bundle. fingerprint-agent
v1.5.0 publishes a 32-bit -linux-i386 bundle and its own installer accepts
i386 hosts, so a 32-bit field laptop running the public one-liner fails with
"no compatible bundle" and installs nothing, even though a matching release
asset exists.
What Changes
- The installer detects the host architecture (
uname -m→x86_64ori386) and selects the matching bundle: the distro-codename bundle when one exists for that architecture, else the generic-linux-<arch>bundle. - An unsupported architecture fails with a message that names the host machine, and installs nothing.
- The version parsed from the asset name accepts the
-linux-i386suffix, so a 32-bit install records and reports its version the same way x86_64 does. - The installer's help text matches the bundle installer: the systemd service
and the self-update timer are on by default, so
--no-service,--no-updatesand--update-baseare documented instead of--enable-servicebeing described as required to get a service.
Capabilities
New Capabilities
(none)
Modified Capabilities
fpagent-installer: bundle selection becomes architecture-aware (not just distro-codename aware), the no-compatible-bundle failure names the host architecture, and the version is derived for every published architecture.
Impact
tools/public/fpagent/install.sh: architecture detection, bundle pick, version regex, help text.tools/test/fpagent-install.test.js: architecture selection and version parsing tests.README.md: the installer section (flags and architectures).- Depends on the
fingerprint-agentbundle namingfpagent-<version>-linux-<arch>.tar.gz, where<arch>isx86_64ori386(v1.5.0 and newer). No change totools/server.js: the server proxies whatever assets the release lists.