Add stable / edge

This commit is contained in:
Ryan Hughes
2025-11-10 11:03:39 -05:00
parent bfd739f539
commit 92677d3df0
7 changed files with 29 additions and 14 deletions
+7 -1
View File
@@ -10,6 +10,7 @@ FROM docker.io/alpine:3.21 AS bootstrapper
ARG TARGETARCH ARG TARGETARCH
ARG BUILDPLATFORM ARG BUILDPLATFORM
ARG MIRROR=edge
COPY pacstrap-docker /usr/local/bin/ COPY pacstrap-docker /usr/local/bin/
@@ -36,7 +37,12 @@ RUN mkdir -p /etc/pacman.d && \
cat /tmp/repos.conf >> /etc/pacman.conf cat /tmp/repos.conf >> /etc/pacman.conf
RUN if [ "${TARGETARCH}" = "amd64" ]; then \ RUN if [ "${TARGETARCH}" = "amd64" ]; then \
printf 'Server = https://mirror.omarchy.org/$repo/os/$arch\nServer = https://mirror.rackspace.com/archlinux/$repo/os/$arch\nServer = https://geo.mirror.pkgbuild.com/$repo/os/$arch\n' > /etc/pacman.d/mirrorlist; \ if [ "${MIRROR}" = "stable" ]; then \
OMARCHY_MIRROR="https://stable-mirror.omarchy.org"; \
else \
OMARCHY_MIRROR="https://mirror.omarchy.org"; \
fi && \
printf "Server = ${OMARCHY_MIRROR}/"'$repo/os/$arch\n' > /etc/pacman.d/mirrorlist; \
else \ else \
curl -L "https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/core/pacman-mirrorlist/mirrorlist" 2>/dev/null | \ curl -L "https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/core/pacman-mirrorlist/mirrorlist" 2>/dev/null | \
sed -E 's/^\s*#\s*Server\s*=/Server =/g' > /etc/pacman.d/mirrorlist && \ sed -E 's/^\s*#\s*Server\s*=/Server =/g' > /etc/pacman.d/mirrorlist && \
+4 -2
View File
@@ -6,8 +6,9 @@
# Setup directories # Setup directories
ARCH=${ARCH:-x86_64} ARCH=${ARCH:-x86_64}
BUILD_OUTPUT_DIR="/build-output/$ARCH" MIRROR=${MIRROR:-edge}
FINAL_OUTPUT_DIR="/pkgs.omarchy.org/$ARCH" BUILD_OUTPUT_DIR="/build-output/$MIRROR/$ARCH"
FINAL_OUTPUT_DIR="/pkgs.omarchy.org/$MIRROR/$ARCH"
mkdir -p "$BUILD_OUTPUT_DIR" "$FINAL_OUTPUT_DIR" mkdir -p "$BUILD_OUTPUT_DIR" "$FINAL_OUTPUT_DIR"
@@ -55,6 +56,7 @@ sudo pacman -Sy
echo "==> Package Builder" echo "==> Package Builder"
echo "==> Target architecture: $ARCH" echo "==> Target architecture: $ARCH"
echo "==> Mirror: $MIRROR"
echo "==> Build workspace: $BUILD_OUTPUT_DIR" echo "==> Build workspace: $BUILD_OUTPUT_DIR"
echo "==> Final output: $FINAL_OUTPUT_DIR" echo "==> Final output: $FINAL_OUTPUT_DIR"
+2 -1
View File
@@ -4,8 +4,9 @@
set -e set -e
ARCH=${ARCH:-x86_64} ARCH=${ARCH:-x86_64}
MIRROR=${MIRROR:-edge}
PACKAGE_NAME="$1" PACKAGE_NAME="$1"
REPO_DIR="/pkgs.omarchy.org/$ARCH" REPO_DIR="/pkgs.omarchy.org/$MIRROR/$ARCH"
if [[ -z "$PACKAGE_NAME" ]]; then if [[ -z "$PACKAGE_NAME" ]]; then
echo "ERROR: Package name required" echo "ERROR: Package name required"
+3 -1
View File
@@ -4,10 +4,12 @@
set -e set -e
ARCH=${ARCH:-x86_64} ARCH=${ARCH:-x86_64}
BUILD_OUTPUT_DIR="/build-output/$ARCH" MIRROR=${MIRROR:-edge}
BUILD_OUTPUT_DIR="/build-output/$MIRROR/$ARCH"
echo "==> Package Signing" echo "==> Package Signing"
echo "==> Target architecture: $ARCH" echo "==> Target architecture: $ARCH"
echo "==> Mirror: $MIRROR"
echo "==> Build output: $BUILD_OUTPUT_DIR" echo "==> Build output: $BUILD_OUTPUT_DIR"
# Check if GPG key and passphrase are provided # Check if GPG key and passphrase are provided
+2 -1
View File
@@ -4,7 +4,8 @@
set -e set -e
ARCH=${ARCH:-x86_64} ARCH=${ARCH:-x86_64}
OUTPUT_DIR="/output/$ARCH" MIRROR=${MIRROR:-edge}
OUTPUT_DIR="/output/$MIRROR/$ARCH"
REPO_NAME="omarchy" REPO_NAME="omarchy"
DB_FILE="$OUTPUT_DIR/${REPO_NAME}.db.tar.zst" DB_FILE="$OUTPUT_DIR/${REPO_NAME}.db.tar.zst"
+4 -2
View File
@@ -25,8 +25,9 @@ setup_qemu() {
build_docker_image() { build_docker_image() {
local build_dir="$1" local build_dir="$1"
local arch="${2:-x86_64}" local arch="${2:-x86_64}"
local mirror="${3:-edge}"
local platform="" local platform=""
local image_tag="omarchy-pkg-builder:latest-$arch" local image_tag="omarchy-pkg-builder:latest-$arch-$mirror"
case "$arch" in case "$arch" in
x86_64) platform="linux/amd64" ;; x86_64) platform="linux/amd64" ;;
@@ -37,10 +38,11 @@ build_docker_image() {
;; ;;
esac esac
print_info "Building Docker image for $arch ($platform)..." print_info "Building Docker image for $arch ($platform) using $mirror mirror..."
docker buildx build \ docker buildx build \
--platform "$platform" \ --platform "$platform" \
--build-arg MIRROR="$mirror" \
--load \ --load \
-t "$image_tag" \ -t "$image_tag" \
-f "$build_dir/Dockerfile" \ -f "$build_dir/Dockerfile" \
+7 -6
View File
@@ -1,8 +1,9 @@
# Common path variables for Omarchy package build system # Common path variables for Omarchy package build system
# This file should be sourced after setting BUILD_ROOT # This file should be sourced after setting BUILD_ROOT
# Default architecture # Default architecture and mirror
ARCH=${ARCH:-x86_64} ARCH=${ARCH:-x86_64}
MIRROR=${MIRROR:-edge}
# Core directories (architecture-independent) # Core directories (architecture-independent)
BUILD_DIR="$BUILD_ROOT/build" BUILD_DIR="$BUILD_ROOT/build"
@@ -10,12 +11,12 @@ SRC_DIR="$BUILD_ROOT/src"
LOG_DIR="$BUILD_ROOT/logs" LOG_DIR="$BUILD_ROOT/logs"
PKGBUILDS_DIR="$BUILD_ROOT/pkgbuilds" PKGBUILDS_DIR="$BUILD_ROOT/pkgbuilds"
# Function to update architecture-specific paths # Function to update architecture and mirror-specific paths
# Call this after changing ARCH variable # Call this after changing ARCH or MIRROR variables
update_arch_paths() { update_arch_paths() {
BUILD_OUTPUT_DIR="$BUILD_ROOT/build-output/$ARCH" # Unsigned packages BUILD_OUTPUT_DIR="$BUILD_ROOT/build-output/$MIRROR/$ARCH" # Unsigned packages
REPO_DIR="$BUILD_ROOT/pkgs.omarchy.org/$ARCH" # Repository (signed packages) REPO_DIR="$BUILD_ROOT/pkgs.omarchy.org/$MIRROR/$ARCH" # Repository (signed packages)
} }
# Initialize architecture-specific directories with default ARCH # Initialize architecture-specific directories with default ARCH and MIRROR
update_arch_paths update_arch_paths