Replace the full rebuild approach with an incremental system that skips packages already present in local-repo at the same version. This provides significant performance improvement when iterating on individual packages.
Key changes:
- Add helper functions: pkgbuild_fullver(), repo_has(), publish_to_repo(), and build_or_skip()
- Use shallow git clones (--depth=1) for AUR packages to reduce download time
- Skip package builds if already present in local-repo with matching version
- Always install packages to resolve inter-package dependencies (AUR→AUR chains, anaconda, etc.)
- Consolidate local PKGBUILD building with the new incremental system
- Regenerate only the repo database instead of copying all packages each run
- Update step 4 to regenerate repo database from existing packages in local-repo
Add PKGBUILD files for anaconda (45.8) and anaconda-widgets (45.8) to support Fedora's Anaconda installer ported to Arch for FWS with liveimg payload.
anaconda-widgets:
- GTK3 UI widgets with GObject introspection
- Extracted from anaconda source as autonomous autotools project
- Versioned on anaconda release
anaconda:
- Main installer with comprehensive dependency set
- Includes note that further iteration needed on real Arch for buildtime deps and Fedora-specific paths
- Removes widgets files (provided by anaconda-widgets package)
Update setup-aur.sh to build local packages in proper dependency order:
- Define LOCAL_BUILD_ORDER array to ensure leaf packages build first
- anaconda builds last (depends on all other local packages)
- Extract build logic into build_local_pkg function
- Fallback to alphabetical scan for future unlisted packages
- This prevents makepkg -s failures when deps are not yet installed
Add automatic detection and relaunching of build scripts in an Arch Linux container via podman when running on non-Arch distributions (Fedora, Ubuntu, Debian, etc.).
Key changes:
- Implement host_is_arch() function to detect if running on Arch Linux by checking both pacman availability and /etc/os-release
- When non-Arch host is detected, scripts automatically pull docker.io/library/archlinux:latest and relaunch themselves in rootful podman container with --privileged
- Mount repository at same absolute path inside container so WORK_DIR and out/ directories work transparently
- Set up persistent pacman cache volume (fws-pacman-cache) between runs
- Auto-chown output files back to host user after build completes
- Update pacman config to disable landlock sandbox in containers (similar to WSL workaround)
- Run full pacman -Syu upgrade in container before installing archiso to avoid partial upgrade issues
- Add comprehensive documentation in README about Fedora/non-Arch setup
- Update .gitignore to exclude pkgbuilds/ directory
- Add environnement.md documentation file