Add builder flags for CI and resumed builds
Three opt-in knobs for bin/build, each defaulting to today's behaviour: OMARCHY_KEEP_BUILD_WORKSPACE=1 keeps build-output/$MIRROR/$ARCH instead of wiping it, and build/build.sh now folds any packages already there into omarchy-build.db even when no database exists yet, so packages built by an earlier job (or a previous, interrupted run) resolve as dependencies of what builds next. OMARCHY_SKIP_BUILDER_IMAGE=1 uses the omarchy-pkg-builder image already present instead of building it, so a workflow can build the image once with an external BuildKit cache and fan out over package jobs that all run the same bytes. A missing image is an error, not a silent rebuild. OMARCHY_DEFER_RUNTIME_DEPS=true builds the omarchy/omarchy-settings pair with --nodeps, installing only their makedepends and checkdepends explicitly. The pair depends on each other and on packages a sharded pipeline builds in other jobs, so they cannot resolve in isolation; the assembled set is installed in one verified transaction downstream. The request is refused for anything but exactly that pair, on the host before Docker starts and again inside the container. Also fix make_dir_writable: chown -R can succeed on part of the tree and fail on files a previous container left behind as another uid, and the old `|| chmod` fallback only ran when chown failed outright. Always follow with chmod.
This commit is contained in:
1 parent
b66905a437
commit
191e1e7db5
3 files changed
+167
-17
No files matched your search
@@ -61,9 +61,14 @@ get_platform_arg() {
|
||||
|
||||
make_dir_writable() {
|
||||
local dir="$1"
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
if (( EUID == 0 )); then
|
||||
chmod -R 777 "$dir"
|
||||
else
|
||||
sudo chown -R $(id -u):$(id -g) "$dir" 2>/dev/null || chmod -R 777 "$dir"
|
||||
# chown can succeed on part of the tree and fail on the rest (files a
|
||||
# previous container left behind as another uid); the old `|| chmod`
|
||||
# fallback only ran when chown failed outright, leaving those files
|
||||
# unwritable. Always follow with chmod so the whole tree is usable.
|
||||
sudo chown -R "$(id -u):$(id -g)" "$dir" 2>/dev/null || true
|
||||
chmod -R 777 "$dir"
|
||||
fi
|
||||
}
|
||||
Reference in new issue
Block a user