Allow ISOs to be build against the edge mirror/package repository

This commit is contained in:
David Heinemeier Hansson committed 2026-01-05 15:31:30 +01:00
1 parent e5152cd7b2
commit a202c81a0c
4 files changed
+48 -3

No files matched your search

+7 -1
View File
@@ -23,9 +23,13 @@ while [[ $# -gt 0 ]]; do
OMARCHY_INSTALLER_REF=dev
shift
;;
--edge)
OMARCHY_MIRROR=edge
shift
;;
*)
echo "Unknown option: $1"
echo "Usage: $0 [--no-cache] [--no-boot-offer] [--local-source] [--dev]"
echo "Usage: $0 [--no-cache] [--no-boot-offer] [--local-source] [--dev] [--edge]"
exit 1
;;
esac
@@ -42,12 +46,14 @@ mkdir -p "$BUILD_RELEASE_PATH"
OMARCHY_INSTALLER_REPO="${OMARCHY_INSTALLER_REPO:-basecamp/omarchy}"
OMARCHY_INSTALLER_REF="${OMARCHY_INSTALLER_REF:-master}"
OMARCHY_MIRROR="${OMARCHY_MIRROR:-stable}"
DOCKER_ARGS=(
--rm
--privileged
-e "OMARCHY_INSTALLER_REPO=$OMARCHY_INSTALLER_REPO"
-e "OMARCHY_INSTALLER_REF=$OMARCHY_INSTALLER_REF"
-e "OMARCHY_MIRROR=$OMARCHY_MIRROR"
-e "HOST_UID=$(id -u)"
-e "HOST_GID=$(id -g)"
-v "$BUILD_RELEASE_PATH/:/out/"
+10 -2
View File
@@ -9,7 +9,11 @@ pacman --noconfirm -Sy archiso git sudo base-devel jq grub
# Install omarchy-keyring for package verification during build
# The [omarchy] repo is defined in /configs/pacman-online.conf with SigLevel = Optional TrustAll
pacman --config /configs/pacman-online.conf --noconfirm -Sy omarchy-keyring
if [[ $OMARCHY_MIRROR == "edge" ]]; then
pacman --config /configs/pacman-online-edge.conf --noconfirm -Sy omarchy-keyring
else
pacman --config /configs/pacman-online-stable.conf --noconfirm -Sy omarchy-keyring
fi
pacman-key --populate omarchy
# Setup build locations
@@ -78,7 +82,11 @@ all_packages+=($(grep -v '^#' /builder/archinstall.packages | grep -v '^$'))
# Download all the packages to the offline mirror inside the ISO
mkdir -p /tmp/offlinedb
pacman --config /configs/pacman-online.conf --noconfirm -Syw "${all_packages[@]}" --cachedir $offline_mirror_dir/ --dbpath /tmp/offlinedb
if [[ $OMARCHY_MIRROR == "edge" ]]; then
pacman --config /configs/pacman-online-edge.conf --noconfirm -Syw "${all_packages[@]}" --cachedir $offline_mirror_dir/ --dbpath /tmp/offlinedb
else
pacman --config /configs/pacman-online-stable.conf --noconfirm -Syw "${all_packages[@]}" --cachedir $offline_mirror_dir/ --dbpath /tmp/offlinedb
fi
repo-add --new "$offline_mirror_dir/offline.db.tar.gz" "$offline_mirror_dir/"*.pkg.tar.zst
# Create a symlink to the offline mirror instead of duplicating it.
+31
View File
@@ -0,0 +1,31 @@
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
[options]
HoldPkg = pacman glibc
Architecture = auto
ParallelDownloads = 5
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
[core]
Server = https://mirror.omarchy.org/$repo/os/$arch
[extra]
Server = https://mirror.omarchy.org/$repo/os/$arch
[multilib]
Server = https://mirror.omarchy.org/$repo/os/$arch
[omarchy]
SigLevel = Optional TrustAll
Server = https://pkgs.omarchy.org/edge/$arch
[arch-mact2]
Server = https://github.com/NoaHimesaka1873/arch-mact2-mirror/releases/download/release
SigLevel = Never
File renamed without changes.