Drop the packages Fedora 44 stopped shipping, and never let a migration wait for a prompt

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
This commit is contained in:
Gabriel Brown
2026-08-22 10:42:58 -04:00
parent 78db2d5689
commit a95c480c6a
2 changed files with 17 additions and 7 deletions
+9 -1
View File
@@ -30,12 +30,20 @@ if grep -qE '^\s*enabled\s*=\s*1' "$repo_file"; then
fi fi
PANAMA_PATH="${PANAMA_PATH:-$HOME/.local/share/Panama}" 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) sudo_cmd=(sudo)
[[ -x "$PANAMA_PATH/bin/panama-sudo" ]] && sudo_cmd=( if [[ -t 0 && -x "$PANAMA_PATH/bin/panama-sudo" ]]; then
sudo_cmd=(
"$PANAMA_PATH/bin/panama-sudo" --reason "$PANAMA_PATH/bin/panama-sudo" --reason
"Removing the unused solopasha/hyprland repository, which conflicts with the one Panama installs from" "Removing the unused solopasha/hyprland repository, which conflicts with the one Panama installs from"
-- --
) )
fi
"${sudo_cmd[@]}" rm -f "$repo_file" "${sudo_cmd[@]}" rm -f "$repo_file"
echo "Removed the disabled solopasha/hyprland COPR; Hyprland comes from lionheartp/Hyprland." echo "Removed the disabled solopasha/hyprland COPR; Hyprland comes from lionheartp/Hyprland."
+4 -2
View File
@@ -29,13 +29,15 @@ gnome-control-center
# grubby, which replaces an argument it already set rather than appending a # grubby, which replaces an argument it already set rather than appending a
# second copy -- the reason that stage needs no editor. # second copy -- the reason that stage needs no editor.
grubby 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-gif
gstreamer1-plugin-gtk4 gstreamer1-plugin-gtk4
gstreamer1-plugin-hsv gstreamer1-plugin-hsv
gstreamer1-plugin-json gstreamer1-plugin-json
gstreamer1-plugin-libav gstreamer1-plugin-libav
gstreamer1-plugin-mp4
gstreamer1-plugin-openh264 gstreamer1-plugin-openh264
gstreamer1-plugins-bad-free-devel gstreamer1-plugins-bad-free-devel
gstreamer1-plugins-good gstreamer1-plugins-good