Files
tools-legacy/openspec/changes/archive/2026-10-06-fpagent-installer-multiarch/tasks.md
T
adebisi-fa 8d42faf707 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.
2026-10-06 19:19:23 +01:00

1.7 KiB

Tasks

  • 1. Hosted installer (tools/public/fpagent/install.sh): resolve the host architecture from uname -m (x86_64/i386, else die) before any download, and pass it to the asset picker. Verify: bash -n install.sh; a stubbed uname printing i686 reaches the metadata fetch, and one printing aarch64 dies without fetching.
  • 2. Hosted installer: pick -ubuntu-<codename>-<arch>.tar.gz first, then -linux-<arch>.tar.gz, and make the "no compatible bundle" message name the host architecture. Verify: with a release offering only fpagent-<hash>-linux-i386.tar.gz, a stubbed i686 host requests that asset; with only -linux-x86_64, the same host fails and installs nothing.
  • 3. Hosted installer: derive the version from the asset name for every supported architecture (linux-x86_64, linux-i386, ubuntu-<codename>-x86_64). Verify: an i386 asset name yields the git hash, not an empty string.
  • 4. Hosted installer: correct the help text — service and self-update are on by default; list --no-service, --no-updates, --update-base, and keep the note that options are forwarded to the bundle installer. Verify: install.sh --help mentions the three flags and no longer implies --enable-service is required.
  • 5. Tests (tools/test/fpagent-install.test.js): stub uname on PATH and assert i386 selection, cross-architecture rejection, and i386 version parsing. Verify: node --test tools/test/fpagent-install.test.js passes.
  • 6. Docs (README.md): installer section notes x86_64 and i386 bundles and the on-by-default service/self-update. Verify: reading the section, no flag claims contradict install.sh --help.