Files
computer-playbook/packaging
kevinveenbirkenbachandClaude Opus 5.5 c93ef965bf perf(web-app-docs): ship the docs snapshot as long-window zstd instead of gzip
The snapshot archive (about 180 near-identical docs.po catalogs) was 279 MB as gzip and took 196.6 s to upload plus 32.9 s to compress on the echoserver production deploy. zstd -9 --long=27 (128 MiB window) packs the same tar into 57 MB in about 4 s (7.6 s pinned to one CPU), and its output is identical whatever the CPU count, so the copy's checksum skip still works. Docker ADD extracts it with BuildKit and the classic builder alike (moby/go-archive, klauspost decoder limit 512 MiB): a throwaway build on engine 29.8.2 extracted the archive to the same tree hash as the controller-side reference in both modes. The Dockerfile now fails the build when ADD copies the archive instead of extracting it, the retired snapshot.tar.gz is removed from stack-host build contexts, and zstd becomes a controller dependency of the deb, rpm and Arch packages next to tar and rsync. A controller without the zstd CLI fails loudly with 'zstd: command not found' until its package or image is refreshed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 19:27:33 +01:00
..

Packaging Layout

This directory follows the same high-level structure as package-manager:

  • packaging/debian/
  • packaging/fedora/
  • packaging/arch/

The package metadata in these folders is used to keep Infinito.Nexus host dependencies explicit and distro-specific.

scripts/install/package.sh builds and installs the local package for the current distro (Arch, Debian/Ubuntu, Fedora), so dependency resolution is performed by the distro package manager from package metadata.

Local Test Environment 🧪

These package definitions are required to bootstrap and run the local development/test environment reliably. 🚀

Bootstrap tooling is provided via Kevin's Package Manager: https://github.com/kevinveenbirkenbach/package-manager

Scope of declared dependencies:

  • Core developer workflow (make install, make setup)
  • Local/CI deployment helpers (docker, jq, ansible, ssh tooling)
  • Basic shell/Python helper tooling used by scripts

Optional lint/test extras are declared as Recommends/optdepends where supported.