Always-packages: p7zip->7zip (retired in F44) + resilient loop #12
+16
-10
@@ -143,19 +143,25 @@ ui_quiet_run() {
|
||||
cur=$(sed -n "$((before+1)),\$p" "$log" 2>/dev/null \
|
||||
| grep -E '^(Installing|Upgrading|Downgrading|Removing|Verifying|Preparing|Cleanup):' \
|
||||
| tail -n 1 || true)
|
||||
# Compose ONCE, then clamp to the terminal width: a live line longer
|
||||
# than the screen wraps on every redraw and floods the screen with
|
||||
# duplicate partial lines (VM-proven on the 80-col TTY).
|
||||
local cols line
|
||||
cols=$(tput cols 2>/dev/null)
|
||||
[[ "$cols" =~ ^[0-9]+$ ]] || cols=80
|
||||
if [[ -n "$cur" ]]; then
|
||||
line="$msg: $cur"
|
||||
else
|
||||
line="$msg"
|
||||
fi
|
||||
if (( ${#line} > cols - 2 )); then
|
||||
line="${line:0:cols-4}.."
|
||||
fi
|
||||
if (( depth >= 16 )); then
|
||||
local code="${bg[$(( f % ${#bg[@]} ))]}"
|
||||
if [[ -n "$cur" ]]; then
|
||||
printf '\r\033[%sm \033[0m %s: %s' "$code" "$msg" "$cur" >&2
|
||||
else
|
||||
printf '\r\033[%sm \033[0m %s' "$code" "$msg" >&2
|
||||
fi
|
||||
printf '\r\033[%sm \033[0m %s' "$code" "$line" >&2
|
||||
else
|
||||
if [[ -n "$cur" ]]; then
|
||||
printf '\r %s %s: %s' "${ch[$(( f % ${#ch[@]} ))]}" "$msg" "$cur" >&2
|
||||
else
|
||||
printf '\r %s %s' "${ch[$(( f % ${#ch[@]} ))]}" "$msg" >&2
|
||||
fi
|
||||
printf '\r %s %s' "${ch[$(( f % ${#ch[@]} ))]}" "$line" >&2
|
||||
fi
|
||||
f=$(( f + 1 ))
|
||||
sleep "$tick"
|
||||
|
||||
@@ -376,15 +376,16 @@ ALWAYS_PACKAGES=(
|
||||
"ghostty ghostty-bash-completion zsh zsh-syntax-highlighting"
|
||||
# Utilities
|
||||
"fastfetch bash-completion hwinfo lshw duf chrony man-db tree xdg-user-dirs rsync bat hddtemp powertop inxi acpi plocate nm-connection-editor"
|
||||
"python3-pylint qt6-qtsvg qt6-qtvirtualkeyboard qt6-qtmultimedia arandr catfish galculator NetworkManager network-manager-applet"
|
||||
"numlockx pipewire pipewire-alsa pipewire-pulse wireplumber pavucontrol playerctl gparted"
|
||||
"python3-pylint qt6-qtsvg qt6-qtvirtualkeyboard qt6-qtmultimedia catfish galculator NetworkManager network-manager-applet"
|
||||
"pipewire pipewire-alsa pipewire-pulse wireplumber pavucontrol playerctl gparted"
|
||||
"system-config-printer system-config-printer-applet system-config-printer-libs ripgrep meld btop htop"
|
||||
# File Managers
|
||||
"thunar thunar-archive-plugin thunar-volman baobab gvfs-smb squashfs-tools"
|
||||
# Internet
|
||||
"wget"
|
||||
# Compression tools
|
||||
"zip gzip p7zip unace unrar xarchiver"
|
||||
# (p7zip was RETIRED in Fedora 44; '7zip' is the official replacement)
|
||||
"zip gzip 7zip unace unrar xarchiver"
|
||||
# Office and Editors
|
||||
"libreoffice"
|
||||
# Multimedia
|
||||
@@ -394,11 +395,21 @@ ALWAYS_PACKAGES=(
|
||||
step "6 Always-installed packages"
|
||||
rule
|
||||
|
||||
always_failed=""
|
||||
for category in "${ALWAYS_PACKAGES[@]}"; do
|
||||
# shellcheck disable=SC2086
|
||||
install_packages $category
|
||||
if ! install_packages $category; then
|
||||
color_red " Failed: $category"
|
||||
color_red " (a package in this line has no match — the rest of the install continues)"
|
||||
always_failed="yes"
|
||||
pause_if_debug
|
||||
fi
|
||||
done
|
||||
ok "Always-packages installed."
|
||||
if [[ -z "$always_failed" ]]; then
|
||||
ok "Always-packages installed."
|
||||
else
|
||||
warn "Always-packages finished with failures (see red lines above)."
|
||||
fi
|
||||
pause_if_debug
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user