mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 02:54:26 +00:00
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>
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_MIRRORSviaapt-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) viasandbox.sh, covering Debian, Ubuntu, Fedora, CentOS/RHEL/Rocky/Alma, and Arch; also exposed asmake 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.