Files
redshift 17708770a1 fix(install): harden install.sh after review
Review follow-ups on the installer:

- --print-asset no longer requires curl/wget or HOME: the HTTP client is
  resolved lazily and the install directory only after the early exit, so
  printing the asset name works on a machine with neither, which is the
  point of that flag.
- Trap INT/TERM with `exit 1` instead of `cleanup` alone. A trapped signal
  previously resumed execution after the handler, which (with the temp dir
  already removed by the handler) surfaced as a misleading follow-on
  download error. The installer now reports the interrupt and exits.
- Bound every HTTP transfer: 10s connect timeout, 60s for the API, 15min for
  the archive, with retries. A stalled connection previously hung the
  installer forever; the standalone updater already caps this at 30s.
- Prefer the native arm64 build on Apple Silicon when a Rosetta shell reports
  x86_64, instead of installing the x64 build under emulation.
- Validate the staged binary against the requested version before swapping it
  in, as installStandaloneRelease already does, and refuse the install on a
  mismatch instead of replacing a working install and warning afterwards.
  Skipped when --platform/--arch are overridden, where the binary may not be
  able to run on this machine at all.
- Cap SHA256SUMS at 1MB, matching MAX_CHECKSUM_BYTES in the updater.
- Use tr '[:upper:]' '[:lower:]' (shellcheck SC2018/SC2019) and document the
  --install-dir alias in --help.

Tests cover each fix, and the four new failure-path tests fail against the
previous script.
2026-09-10 20:22:30 +02:00
..