mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 19:01:54 +00:00
build/ is bind-mounted; under docker userns-remap the container root maps to host uid 65534 (nobody), so files written from inside the container are nobody-owned on the host. Whichever side created build/ first locked the other out: a stale nobody-owned build/ blocked the host touch of build/install.stamp, and a host-owned 0755 build/ blocked the container from writing build/install-lint-<hash>.stamp. Stamp writers now chmod the build dir to 0777 after creating it. The first creator wins (only owner can chmod); both writers then place their own stamps without colliding on directory ownership. Co-Authored-By: Claude Opus 4.7 <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) - 🏖️ 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 - 🐍 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.