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