feat(install): drop paru --pkgbuilds fallback, registry is the only path
All checks were successful
Build and publish packages / build-and-publish (push) Successful in 12s
All checks were successful
Build and publish packages / build-and-publish (push) Successful in 12s
The moonarch.install hook used to ensure /etc/paru.conf had Mode = arp and a [moonarch-pkgbuilds] section. Both exist to let paru resolve moonarch packages from a PKGBUILD repo — a second mechanism parallel to the Arch registry, redundant now that the registry DB is stable. Hook now strips the legacy config on next upgrade. Bump pkgrel so every installed system picks up the cleanup.
This commit is contained in:
parent
675c8bee45
commit
b4ee733827
@ -1,5 +1,11 @@
|
||||
# Decisions
|
||||
|
||||
## 2026-04-20 – Registry is the only install path; drop paru --pkgbuilds
|
||||
- **Who**: Dominik, ClaudeCode
|
||||
- **Why**: Two parallel mechanisms for finding moonarch packages (the Arch registry via `[moonarch]` in `pacman.conf`, and paru's PKGBUILD-repo via `[moonarch-pkgbuilds]` in `paru.conf`) created ambiguous state: `paru -S` resolves from whichever has a matching version first, and diagnostics have to account for both. With the registry DB now stable (see zombie fix below), the PKGBUILD-repo path is redundant.
|
||||
- **Tradeoffs**: No more local-build fallback when the registry is broken — but when the registry is broken, the real fix is to repair it, not to mask the problem with a second mechanism. Existing systems need their `/etc/paru.conf` cleaned once (hook handles that on next moonarch-git upgrade).
|
||||
- **How**: `moonarch.install` post_install now deletes `Mode = arp` and the `[moonarch-pkgbuilds]` section from `/etc/paru.conf` instead of writing them. `moonarch/scripts/post-install.sh` and `transform.sh` no longer configure paru.conf or call `paru -Syu --pkgbuilds`; they run `pacman -Sy` + `paru -S moonarch-git` (registry only).
|
||||
|
||||
## 2026-04-20 – CI wipes all package versions before upload to kill DB zombies
|
||||
- **Who**: Dominik, ClaudeCode
|
||||
- **Why**: `paru -Syu` stopped offering `moonarch-git` updates after the r99 → r105 pkgver bump. Root cause: Gitea's Arch registry updates `moonarch.db` incrementally on upload, but does not evict old entries when a pkgver changes. `r99` lingered in the DB as a zombie — file already 404, but desc/sig still present — so clients saw `r99` as "latest" and never got `r105`. Not a one-off: every future pkgver bump would repeat the issue.
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
|
||||
pkgname=moonarch-git
|
||||
pkgver=r105.f4f6ede
|
||||
pkgrel=8
|
||||
pkgrel=9
|
||||
pkgdesc="Moonarch desktop environment defaults — Niri, Waybar, Catppuccin Mocha"
|
||||
arch=('any')
|
||||
url="https://gitea.moonarch.de/nevaforget/moonarch"
|
||||
|
||||
@ -42,16 +42,13 @@ post_install() {
|
||||
fi
|
||||
done < /etc/passwd
|
||||
|
||||
# Ensure paru PKGBUILD repo is configured (breaks bootstrap loop otherwise)
|
||||
# Clean up legacy paru PKGBUILD-repo config. Moonarch now ships binaries
|
||||
# exclusively through the Arch registry (pacman repo in /etc/pacman.conf);
|
||||
# the [moonarch-pkgbuilds] section and Mode = arp are obsolete.
|
||||
PARU_CONF="/etc/paru.conf"
|
||||
if [ -f "$PARU_CONF" ]; then
|
||||
if ! grep -q 'Mode.*p' "$PARU_CONF" 2>/dev/null; then
|
||||
sed -i '/^\[options\]/a Mode = arp' "$PARU_CONF"
|
||||
fi
|
||||
if ! grep -q '\[moonarch-pkgbuilds\]' "$PARU_CONF" 2>/dev/null; then
|
||||
printf '\n[moonarch-pkgbuilds]\nUrl = https://gitea.moonarch.de/nevaforget/moonarch-pkgbuilds.git\n' \
|
||||
>> "$PARU_CONF"
|
||||
fi
|
||||
sed -i '/^Mode[[:space:]]*=[[:space:]]*arp\s*$/d' "$PARU_CONF"
|
||||
sed -i '/^\[moonarch-pkgbuilds\]$/,/^$/d' "$PARU_CONF"
|
||||
fi
|
||||
|
||||
# Cleanup legacy user-level configs (moved to system-level)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user