mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
Run 41743807934 lost Matrix#2, Workspace (debian:13), Gitea#0 and Wazuh#0 to the full job budget right after "Preparing build workspace". On runner image 20261101 the kernel stacks every container onto docker-default//&unconfined, which refuses every in-container kill(); the host journal logs apparmor="DENIED" operation="signal" comm="rsync" signal=usr2. rsync's local copy waits for exactly that SIGUSR2 and sleeps until the job is killed. scripts/install/stage.sh copies the tree through a tar pipe, which sends no signal; --format=posix keeps nanosecond mtimes. package.sh uses it on the arch and debian paths and installs tar instead of rsync. Copying this repository both ways gives identical content, modes, types, link targets and mtimes on all 11306 entries. test_stage.py runs stage.sh under a seccomp filter that fails every signal syscall with EACCES; the old rsync copy hangs past its timeout under the same filter. Co-Authored-By: Claude Opus 5.5 <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) - 🗂️ Copy the repository into a fresh package build workspace via
stage.sh, a tar pipe instead of rsync, because rsync's local copy waits for an in-container signal that hosts stacking AppArmor onto containers refuse - 🪞 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.