pacstrap failed at line 382 because pkglist lines from pacman -Q are
'name version' and were passed whole as pacman targets (~400 'target
not found'). Parse only the first field, pre-filter against pacman -Slq
so packages missing from the live repos (local-aur) are skipped with a
warning, and fall back to an unfiltered list if pacman -Syy fails.
Keymap screen now offers a US-layout confirm before the gum filter.
- New gum-based installer script (alvin-install) with LUKS encryption,
nmtui networking, disk selector, user/git config, and CachyOS repo setup
- Replace NetworkManager full unit file with symlink for consistency
- Add alvin-install reference to MOTD
- Add file_permissions entry in profiledef.sh
- Fix localrepo path case in pacman.conf
Boot configs referenced stock vmlinuz-linux/initramfs-linux.img but
only linux-cachyos is installed. This caused boot to fall through
to memtest86+ since the kernel file was not found.
The GITEA_TOKEN lacks 'lfs' scope, causing the LFS batch API to reject
uploads. Upload .zst files directly as release assets via the Gitea API
instead. This eliminates git-lfs, the separate releases repo, and all
LFS-related plumbing.
- Add CI step to create /dev/stdin symlinks before ISO build
(Docker/container environments may lack these, causing mkinitcpio to fail)
- Remove stock linux kernel from packages.x86_64 (linux-cachyos is the
intended kernel; dual-kernel causes boot confusion and doubles build time)
Closes #X
Create a matching git tag + release in alvinlollo/AlvinArch-releases next to
the main repo release, seed a short README there pointing back to
AlvinArch (workflow status badges on top), and extend release pruning to
the releases repo so both stay capped at 3.
Release assets can no longer be attached directly (Gitea 500 on multi-GB
uploads). Compress each ISO with zstd, push the .zst into
alvinlollo/AlvinArch-releases (releases/<tag>/ on main) via Git LFS, verify
the LFS object server-side by OID, and create the release with a download
link plus SHA-256 checksums instead of a binary attachment.
These files exist in the airootfs overlay but are owned by packages
in packages.x86_64, causing 'exists in filesystem' errors during
mkarchiso pacman install:
- usr/lib/os-release (filesystem)
- usr/share/pacman/keyrings/cachyos-* (cachyos-keyring)
- etc/clamav/certs/clamav.crt (clamav)
- etc/skel/.zshrc (grml-zsh-config)
build-iso:
- Remove -c flag (it takes a pacman.conf path, not a clean flag)
- Use absolute paths for mkarchiso with -- separator
- Copy local-aur.files* alongside local-aur.db*
tests:
- Fix word splitting: use 'while IFS= read -r' instead of
'for f in ' for shell and YAML file loops
- Fix YAML find filter to use -not -path like shell find
Use -- to separate flags from profile path, preventing mkarchiso
from misinterpreting the -w argument as the profile directory.
Also make rm -rf fail-safe with || true.
- Remove yq from packages.x86_64 (conflicts with go-yq)
- Add conflicting packages check step to tests workflow
- Rename 'Scheduled ArchISO Build' to 'Automated Arch ISO Build'
- Add --needed to all pacman install commands to suppress reinstalls
The local-aur repo in pacman.conf points to /home/alvin/alvinarch/localrepo
which only exists on the dev machine. In CI, copy the tracked .pkg.tar.zst
files to /tmp/localrepo and sed the path before building.
The AlvinArch profile lives at the repo root, not in a releng/
subdirectory. The old path caused mkarchiso to fail with:
ERROR: Profile '.../releng' does not exist!