Hyprland: COPR fallback chain (solopasha has no F44 chroot)
On F44, 'dnf copr enable solopasha/hyprland' fails with 'Chroot not found': verified via the Copr API, solopasha is rawhide-only right now. lionheartp/ Hyprland (solopasha fork, also ships noctalia packages) and hermitfeather/ hyprland both have fedora-44 chroots. The module now tries lionheartp, hermitfeather, then solopasha, and aborts with an actionable message if none has a chroot for this release. README updated to name the chain, not a single repo.
This commit is contained in:
+23
-4
@@ -12,14 +12,33 @@ if is_debug; then set +e; else set -e; fi
|
||||
step "Tiling window manager: Hyprland"
|
||||
rule
|
||||
|
||||
# hyprland was retired from the Fedora repos after F42 (dependency churn),
|
||||
# so the compositor comes from the solopasha COPR — the de facto standard.
|
||||
# hyprland was retired from the Fedora repos after F42 (dependency churn), so it
|
||||
# comes from a COPR. Which COPR has a fedora-44 chroot changes over time —
|
||||
# solopasha (the usual recommendation) was rawhide-only when this was written.
|
||||
# Try candidates in order; first one that enables wins. If none works, abort
|
||||
# with an actionable message instead of a cryptic "chroot not found".
|
||||
if ! pkg_installed hyprland; then
|
||||
info "Enabling copr: solopasha/hyprland..."
|
||||
sudo dnf copr enable -y solopasha/hyprland
|
||||
enabled=""
|
||||
for copr in lionheartp/Hyprland hermitfeather/hyprland solopasha/hyprland; do
|
||||
info "Enabling copr: $copr..."
|
||||
if sudo dnf copr enable -y "$copr" >/dev/null 2>&1; then
|
||||
enabled="$copr"
|
||||
ok "Copr enabled: $copr"
|
||||
break
|
||||
fi
|
||||
warn "Copr $copr has no chroot for this Fedora release; trying next..."
|
||||
done
|
||||
if [[ -z "$enabled" ]]; then
|
||||
err "None of the Hyprland COPRs have a chroot for Fedora $(rpm -E %fedora)."
|
||||
err "Check https://copr.fedorainfracloud.org/coprs/ for an up-to-date one, or:"
|
||||
err " sudo dnf copr enable -y <owner>/<project> fedora-rawhide-x86_64 # last resort"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
info "Installing Hyprland and its ecosystem..."
|
||||
# COPR package sets differ; treat everything beyond the core compositor as
|
||||
# optional so a name drift warns instead of killing the transaction.
|
||||
install_packages hyprland xdg-desktop-portal-hyprland alacritty
|
||||
install_optional hyprpaper hypridle hyprlock waybar mako wofi xwayland-satellite
|
||||
|
||||
|
||||
Reference in New Issue
Block a user