From 130137485e6a2a37ff71a92b29380fce28ff5370 Mon Sep 17 00:00:00 2001 From: gibbyb Date: Fri, 18 Sep 2026 11:02:35 -0400 Subject: [PATCH] Guard the mesa driver swap on its end state mesa-va-drivers-freeworld Provides mesa-va-drivers, so once the swap has run once it becomes the only thing providing the name we ask dnf to remove. The command then resolves to removing and installing the same package in a single transaction and exits with "conflicting requests", which reported install-packages as a failed stage on every run after the first even though the machine was already in the desired state. The failure also produced misleading output, because dnf explored removing mesa-dri-drivers and surfaced unrelated complaints from steam, lutris and tigervnc-server-common. Check for the freeworld package with rpm -q and skip the swap when it is already installed. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01TFG55mJBiH2tV38tXcNzJ9 --- setup/scripts/install-packages | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/setup/scripts/install-packages b/setup/scripts/install-packages index d7785c4..0007765 100755 --- a/setup/scripts/install-packages +++ b/setup/scripts/install-packages @@ -1405,8 +1405,17 @@ soft "the multimedia group update" \ sync log "Swapping ffmpeg-free for ffmpeg" soft "the ffmpeg swap" sudo dnf swap -y 'ffmpeg-free' 'ffmpeg' --allowerasing -log "Swapping mesa-va-drivers for mesa-va-drivers-freeworld" -soft "the mesa driver swap" sudo dnf swap -y mesa-va-drivers mesa-va-drivers-freeworld +# mesa-va-drivers-freeworld Provides mesa-va-drivers, so once the swap has been +# done it is the only thing providing the name we ask dnf to remove. `dnf swap` +# then resolves to removing and installing the same package in one transaction +# and fails with "conflicting requests", which reports install-packages as a +# failed stage on every subsequent run. Guard on the end state instead. +if rpm -q mesa-va-drivers-freeworld >/dev/null 2>&1; then + log "mesa-va-drivers-freeworld is already installed; swap not needed" +else + log "Swapping mesa-va-drivers for mesa-va-drivers-freeworld" + soft "the mesa driver swap" sudo dnf swap -y mesa-va-drivers mesa-va-drivers-freeworld +fi log "Upgrading Multimedia group with optional packages" soft "the optional Multimedia upgrade" sudo dnf4 group upgrade -y --with-optional Multimedia log "Installing GStreamer plugins (bad, good, base)"