Always-packages: p7zip->7zip (retired in F44) + resilient loop #12

Merged
yuri merged 3 commits from fix/always-packages-p7zip-resilience into main 2026-11-02 16:31:09 +01:00
2 changed files with 32 additions and 15 deletions
+16 -10
View File
@@ -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"
+16 -5
View File
@@ -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
#------------------------------------------