Closes #183, remove AUR-only packages from Arch install lists - #202
Open
Albe841114 wants to merge 1 commit into
Open
Albe841114 wants to merge 1 commit into
Albe841114 wants to merge 1 commit into
Conversation
carapace and zsh-theme-powerlevel10k only exist in the AUR, and pacman transactions are atomic, so a single unresolvable name aborts the whole install. Add source-literal regression tests that read the real Arch list literals in installer.go and pin every list.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #183
What
carapace(and, in the zsh list,zsh-theme-powerlevel10k) only exist in theAUR, not in the official Arch repositories (core/extra).
pacman -Stransactions are atomic: one unresolvable name aborts the whole transaction,
so the installer's
pacman -S --needed --noconfirm <list>step fails andinstalls nothing, not even the five legitimate packages it was asked to
install.
This PR removes those two names from the three Arch package lists (fish, zsh,
nushell) in
stepInstallShell. The shells keep their remaining tools (zoxide,atuin, starship, zsh-autosuggestions, zsh-syntax-highlighting, zsh-autocomplete,
jq, bash). Fedora and other distros keep carapace, since it is available there
through their package managers.
Out of scope
This PR only touches the Arch package lists and their tests. It does not touch
dry-run behavior, the repo clone/cleanup guard, or backup handling of
non-regular files (sockets, FIFOs, devices). Those come in the A to B to D
chain of follow-up PRs (#193, #190, #195).
Review budget
93 lines changed (+88/-5) across 3 files: 3 lines of package lists and 85
lines of tests that verify from the source that carapace cannot sneak back in.
tui/installer.go: 3 one-line list edits.tui/arch_packages_source_test.go(new): two regression guards that readthe real
Arch:list literals out ofinstaller.go. The existingplatform_packages tests build their fixtures inline, so they cannot catch a
regression in the actual source strings. One test fails if any AUR-only name
appears in any Arch list; the other pins the exact expected content of all 7
Arch lists.
tui/platform_packages_test.go: 2 expectation lines updated to match thenew pacman command.
Relationship to #197
This PR comes from splitting #197 into focused per-issue PRs. It is
standalone: it is not part of the A/B/D chain, it targets main directly, and
it can be merged on its own. #197 stays open until the chain is complete.
Tests
Local run (go1.27.1,
go build ./...plusgo test ./...ininstaller/):all slice tests pass. The only failures in the full suite are three
pre-existing, environment-dependent golden tests (TestWelcomeScreenGolden,
TestMainMenuGolden, TestOSSelectGolden) that fail identically on a clean main
checkout.
CI
The fork's workflows require manual approval to run. I will keep an eye on
what they report once that happens.