Add comprehensive FOSS compliance documentation including:
- COPYRIGHT.md: copyright holders and code ownership
- LICENSING.md: GPL-3.0-or-later policy and source offer
- NOTICE: attribution requirements for permissive licenses
- THIRD-PARTY-LICENSES.md: third-party software inventory
- TRADEMARKS.md: trademark notices and non-affiliation
- os-release hook and files: identify FWS as separate from Arch Linux
These documents establish legal compliance baseline for GPL/AGPL/Apache/MIT/BSD obligations before public distribution.
Fixed a bash variable expansion bug where $name was being referenced before assignment in a multi-variable local declaration. Changed d assignment to use $1 directly instead of $name to ensure the correct directory path is set. This prevents PKGBUILD lookup failures when processing dependent packages in AUR chains.
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 PKGBUILD files for four Anaconda installer dependencies:
- pykickstart: Kickstart language parser (>= 3.73)
- python-blivet: Storage management abstraction layer
- python-productmd: OS product metadata parsers
- python-requests-file: file:// URL transport adapter for requests
These packages are required by rhinstaller but absent from Arch repos and AUR.
All use manual module installation to avoid unnecessary build dependencies.
Also fix .gitignore by removing pkgbuilds/ exclusion to allow tracking these new packages.
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