diff --git a/bin/omarchy-iso-make b/bin/omarchy-iso-make index 9886b07..10a34c2 100755 --- a/bin/omarchy-iso-make +++ b/bin/omarchy-iso-make @@ -143,6 +143,10 @@ if [[ -z "$NO_CACHE" ]]; then OFFLINE_REPO_BUILD_CACHE_DIR="$HOME/.cache/omarchy/iso_${OMARCHY_MIRROR}/airootfs/var/cache/omarchy" mkdir -p "$OFFLINE_REPO_BUILD_CACHE_DIR" DOCKER_ARGS+=(-v "$OFFLINE_REPO_BUILD_CACHE_DIR:/var/cache/airootfs/var/cache/omarchy") +else + # The locally cached :latest image is a cache too — docker run never + # re-checks the registry for it, so refresh it when building cold. + DOCKER_ARGS+=(--pull=always) fi docker run "${DOCKER_ARGS[@]}" archlinux/archlinux:latest /$BUILD_SCRIPT diff --git a/builder/build-iso.sh b/builder/build-iso.sh index 3f708e8..b52a5b1 100755 --- a/builder/build-iso.sh +++ b/builder/build-iso.sh @@ -25,7 +25,11 @@ export OMARCHY_RUNTIME_PACKAGE OMARCHY_SETTINGS_PACKAGE OMARCHY_NVIM_PACKAGE # Packages installed into the Arch container used to build the ISO. pacman-key --init pacman --noconfirm -Sy archlinux-keyring -pacman --noconfirm -Sy archiso git sudo base-devel jq grub imagemagick neovim nodejs npm tree-sitter-cli +# Full upgrade, not just -Sy: docker never re-pulls :latest once it's cached, +# so this container can be months behind the mirror it installs from. A plain +# -Sy install is then a partial upgrade — new packages linked against a glibc +# the container doesn't have yet. +pacman --noconfirm -Syu archiso git sudo base-devel jq grub imagemagick neovim nodejs npm tree-sitter-cli # Pre-import the omarchy signing key (so pacman trusts our [omarchy] repo # during the build without keyserver lookups).