docs(openspec): archive fpagent-installer-multiarch and sync specs
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.
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# 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_64` or
|
||||
`i386`) 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-i386` suffix, 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-updates` and `--update-base` are documented instead of
|
||||
`--enable-service` being 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-agent` bundle naming
|
||||
`fpagent-<version>-linux-<arch>.tar.gz`, where `<arch>` is `x86_64` or
|
||||
`i386` (v1.5.0 and newer). No change to `tools/server.js`: the server proxies
|
||||
whatever assets the release lists.
|
||||
Reference in New Issue
Block a user