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:
@@ -68,7 +68,7 @@ Each module pulls in `lib/` by relative path, so it works both ways.
|
|||||||
| TWM | Source | Session type | Notes |
|
| TWM | Source | Session type | Notes |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| `niri` | Fedora repos + Terra (for `noctalia`) | Wayland | Ships its own session entry |
|
| `niri` | Fedora repos + Terra (for `noctalia`) | Wayland | Ships its own session entry |
|
||||||
| `hyprland` | **copr solopasha/hyprland** | Wayland | Retired from Fedora repos after F42 |
|
| `hyprland` | **COPR** (lionheartp, then hermitfeather, then solopasha) | Wayland | Retired from Fedora repos after F42; first COPR with a chroot for your release wins |
|
||||||
| `mango` | **Terra repo only** | Wayland | Session entry written if the package lacks one |
|
| `mango` | **Terra repo only** | Wayland | Session entry written if the package lacks one |
|
||||||
| `chadwm` | **built from source** | **X11** | dwm fork; not packaged anywhere for Fedora |
|
| `chadwm` | **built from source** | **X11** | dwm fork; not packaged anywhere for Fedora |
|
||||||
|
|
||||||
|
|||||||
+23
-4
@@ -12,14 +12,33 @@ if is_debug; then set +e; else set -e; fi
|
|||||||
step "Tiling window manager: Hyprland"
|
step "Tiling window manager: Hyprland"
|
||||||
rule
|
rule
|
||||||
|
|
||||||
# hyprland was retired from the Fedora repos after F42 (dependency churn),
|
# hyprland was retired from the Fedora repos after F42 (dependency churn), so it
|
||||||
# so the compositor comes from the solopasha COPR — the de facto standard.
|
# 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
|
if ! pkg_installed hyprland; then
|
||||||
info "Enabling copr: solopasha/hyprland..."
|
enabled=""
|
||||||
sudo dnf copr enable -y solopasha/hyprland
|
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
|
fi
|
||||||
|
|
||||||
info "Installing Hyprland and its ecosystem..."
|
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_packages hyprland xdg-desktop-portal-hyprland alacritty
|
||||||
install_optional hyprpaper hypridle hyprlock waybar mako wofi xwayland-satellite
|
install_optional hyprpaper hypridle hyprlock waybar mako wofi xwayland-satellite
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user