Files
kevinveenbirkenbachandClaude Opus 5.5 0f9bdca445 fix(install): refresh dnf metadata on every retried install
scripts/install/filesystem.sh retried `dnf install -y zfs` three times
against the same metadata during the Fedora image build of main run
39684179395 (XMPP#0): every attempt listed pcp-*-7.2.2-1.fc44, every
mirror answered 404, "Failed to download packages" after 3 attempts.

Each retried dnf install now runs with --refresh, so every attempt
resolves against freshly fetched metadata instead of repeating the one
that lists packages no mirror serves anymore.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-22 10:30:57 +02:00
..
…
…
…
…
…
…

Install Scripts

This directory contains scripts that install and bootstrap host-side tooling used by the project.

  • 📦 Install Python, Ansible, and lint dependencies for supported environments
  • 🐧 Install ad-hoc APT packages for CI and workflow jobs via apt.sh
  • 📦 Build and install distro package metadata via package.sh (Arch/Debian/Ubuntu/Fedora)
  • 🪞 Point an Ubuntu image's apt sources at INFINITO_APT_UBUNTU_MIRRORS via apt-mirrors.sh, run first in the image build: apt tries the mirrors in list order and moves on when one fails or stays silent for 10 s; images of other distros are left untouched
  • 🏖️ Install OS-level Claude Code sandbox dependencies (bubblewrap, socat) via sandbox.sh, covering Debian, Ubuntu, Fedora, CentOS/RHEL/Rocky/Alma, and Arch; also exposed as make install-agent
  • 🧊 Install the ext4, btrfs and zfs userlands via filesystem.sh (distro packages, EPEL for btrfs on CentOS, the AUR PKGBUILD for zfs on Arch, the zfsonlinux repository on Fedora/CentOS); the kernel side comes from the host
  • 🐍 Bootstrap virtual environments and editable project dependencies
  • 🛠️ Keep host preparation separate from lint, build, and test execution

The scope of this folder is installation and bootstrap. Lint execution, build workflows, and test orchestration should stay in their dedicated script directories.