Files
Das-OS/scripts/builder.sh
T
dasandClaude Opus 5.5 f3793d468c
build / build (push) Successful in 30m42s
Incremental package builds and releases on v* tags (0.8.0)
- build-packages.sh rebuilds a package only when its srcpkgs/ directory
  changed, its binary package is missing, or a dry-run install finds a
  shared library Void no longer provides; DASOS_REBUILD=1 rebuilds all.
  An unchanged `make packages` takes 20 s instead of 17 min on the CI host
- ci/release.sh publishes both ISOs and SHA256SUMS as a Gitea release
  when the workflow runs for a v* tag matching VERSION
- README and TODO updated

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 14:55:45 +03:00

23 lines
772 B
Bash
Executable File

#!/usr/bin/env bash
# Runs a command inside the Void Linux builder container.
# The project is mounted at /work; downloaded packages are cached in out/cache/xbps.
# DASOS_OUT puts out/ elsewhere (CI keeps it between checkouts).
set -euo pipefail
root=$(cd "$(dirname "$0")/.." && pwd)
out=${DASOS_OUT:-$root/out}
image=dasos-builder
docker build --quiet --tag "$image" "$root/docker/builder" >/dev/null
mkdir -p "$out/cache/xbps"
# --privileged: mklive mounts /proc, /sys, /dev and a loop device for the root image
exec docker run --rm --privileged \
--volume "$root:/work" \
${DASOS_OUT:+--volume "$out:/work/out"} \
--volume "$out/cache/xbps:/var/cache/xbps" \
--env HOST_UID="$(id -u)" \
--env HOST_GID="$(id -g)" \
--env DASOS_REBUILD \
"$image" "$@"