From a95c480c6ab63c7c5cfc1c26fd30951566c22c66 Mon Sep 17 00:00:00 2001 From: Gabriel Brown Date: Sat, 22 Aug 2026 10:42:58 -0400 Subject: [PATCH] Drop the packages Fedora 44 stopped shipping, and never let a migration wait for a prompt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two more things the Framework's install surfaced. gstreamer1-plugin-fmp4 and gstreamer1-plugin-mp4 no longer exist in any repo this configuration enables — not Fedora 44, not RPM Fusion, not the Hyprland COPR. Machines installed on older Fedora carry them as orphans, which is why the list looked fine from one. dnf5 refuses a whole transaction over one missing name, and desktop-packages runs above the Hyprland block, so two dead codec entries cost the entire desktop. The solopasha migration preferred panama-sudo, and pkexec with no polkit agent to answer it does not fail — it waits forever, which held an unattended ./install hostage at the one stage that promised never to ask. The stated reason is now reserved for a terminal someone is sitting at; a non-interactive run takes plain sudo, which either succeeds quietly or fails fast enough for panama-migrate to retry at the next login, as it promises. Verified by running install-packages end to end on the machine that broke it: Terra guard holds, desktop packages resolve, Hyprland 0.56.2 lands, and the stage reaches its stepped-over report. All 22 setup contracts pass. Claude-Session: https://claude.ai/code/session_01Epx9ZC1gwm81K3jm9x9CKh --- migrations/1787672400.sh | 18 +++++++++++++----- setup/packages/desktop-packages | 6 ++++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/migrations/1787672400.sh b/migrations/1787672400.sh index c34e5ff..236b336 100755 --- a/migrations/1787672400.sh +++ b/migrations/1787672400.sh @@ -30,12 +30,20 @@ if grep -qE '^\s*enabled\s*=\s*1' "$repo_file"; then fi PANAMA_PATH="${PANAMA_PATH:-$HOME/.local/share/Panama}" +# panama-sudo is pkexec, and pkexec with nobody to answer it does not fail -- +# it waits forever. That hung an unattended ./install at this very migration. +# So the stated-reason prompt is reserved for a terminal someone is sitting at; +# a non-interactive run takes plain sudo, which is either already authorized +# (a warm timestamp, NOPASSWD) or fails fast enough to be retried at the next +# login, exactly as panama-migrate promises. sudo_cmd=(sudo) -[[ -x "$PANAMA_PATH/bin/panama-sudo" ]] && sudo_cmd=( - "$PANAMA_PATH/bin/panama-sudo" --reason - "Removing the unused solopasha/hyprland repository, which conflicts with the one Panama installs from" - -- -) +if [[ -t 0 && -x "$PANAMA_PATH/bin/panama-sudo" ]]; then + sudo_cmd=( + "$PANAMA_PATH/bin/panama-sudo" --reason + "Removing the unused solopasha/hyprland repository, which conflicts with the one Panama installs from" + -- + ) +fi "${sudo_cmd[@]}" rm -f "$repo_file" echo "Removed the disabled solopasha/hyprland COPR; Hyprland comes from lionheartp/Hyprland." diff --git a/setup/packages/desktop-packages b/setup/packages/desktop-packages index ed6c059..59611b8 100644 --- a/setup/packages/desktop-packages +++ b/setup/packages/desktop-packages @@ -29,13 +29,15 @@ gnome-control-center # grubby, which replaces an argument it already set rather than appending a # second copy -- the reason that stage needs no editor. grubby -gstreamer1-plugin-fmp4 +# fmp4 and mp4 are deliberately absent: Fedora 44 no longer packages either +# (dnf5 refuses the whole transaction over one missing name, so a dead entry +# here costs the entire desktop). Machines installed on older Fedora still +# carry them as orphans, which is why this list looked fine from one. gstreamer1-plugin-gif gstreamer1-plugin-gtk4 gstreamer1-plugin-hsv gstreamer1-plugin-json gstreamer1-plugin-libav -gstreamer1-plugin-mp4 gstreamer1-plugin-openh264 gstreamer1-plugins-bad-free-devel gstreamer1-plugins-good