From c4ce0b35340a57fe250cf6370ec76075c7f01e59 Mon Sep 17 00:00:00 2001 From: alvinlollo Date: Tue, 15 Sep 2026 17:49:28 +1000 Subject: [PATCH] Fix conflicting yq packages, add conflict check, rename workflow - Remove yq from packages.x86_64 (conflicts with go-yq) - Add conflicting packages check step to tests workflow - Rename 'Scheduled ArchISO Build' to 'Automated Arch ISO Build' - Add --needed to all pacman install commands to suppress reinstalls --- .gitea/workflows/build-iso.yaml | 4 ++-- .gitea/workflows/tests.yaml | 31 +++++++++++++++++++++++++++++-- packages.x86_64 | 1 - 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/build-iso.yaml b/.gitea/workflows/build-iso.yaml index 0d43d8a..e678f85 100644 --- a/.gitea/workflows/build-iso.yaml +++ b/.gitea/workflows/build-iso.yaml @@ -1,4 +1,4 @@ -name: Scheduled ArchISO Build +name: Automated Arch ISO Build on: schedule: @@ -23,7 +23,7 @@ jobs: - name: Install archiso and dependencies run: | - pacman -Syu --noconfirm archiso jq + pacman -Syu --noconfirm --needed archiso jq - name: Build Arch ISO run: | diff --git a/.gitea/workflows/tests.yaml b/.gitea/workflows/tests.yaml index 874c66d..216f048 100644 --- a/.gitea/workflows/tests.yaml +++ b/.gitea/workflows/tests.yaml @@ -54,7 +54,7 @@ jobs: printf '\n[cachyos]\nInclude = /etc/pacman.d/cachyos-mirrorlist\n' \ >> /etc/pacman.conf - pacman -Syu --noconfirm + pacman -Syu --noconfirm --needed - name: Set up chaotic-aur repo run: | @@ -65,7 +65,7 @@ jobs: printf '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n' \ >> /etc/pacman.conf - pacman -Syu --noconfirm + pacman -Syu --noconfirm --needed - name: Lint shell scripts with ShellCheck run: | @@ -260,3 +260,30 @@ jobs: echo "" echo "✅ All packages verified successfully!" fi + + - name: Check for conflicting packages + run: | + echo "═══════════════════════════════════════════════════════════════" + echo " Checking for conflicting packages in packages.x86_64" + echo "═══════════════════════════════════════════════════════════════" + + # Collect all package names from the list + PKGS=() + while IFS= read -r pkg; do + [[ -z "$pkg" || "$pkg" =~ ^# ]] && continue + PKGS+=("$pkg") + done < packages.x86_64 + + # Use pacman -Sp --print to resolve the full install set and check for conflicts + # This catches "X and Y are in conflict" errors before the ISO build + PKG_LIST=$(printf '%s\n' "${PKGS[@]}") + if CONFLICTS=$(echo "$PKG_LIST" | pacman -Sp --needed - 2>&1); then + echo "✅ No package conflicts detected" + else + echo "$CONFLICTS" | grep -i "conflict" || true + echo "" + echo "═══════════════════════════════════════════════════════════════" + echo " ❌ Conflicting packages found — fix packages.x86_64" + echo "═══════════════════════════════════════════════════════════════" + exit 1 + fi diff --git a/packages.x86_64 b/packages.x86_64 index 4db7e4d..510897a 100644 --- a/packages.x86_64 +++ b/packages.x86_64 @@ -397,7 +397,6 @@ yay ydotool yt-dlp zen-browser-bin -yq zram-generator zsh zsh-completions