The branding's netinstall.yaml has a Base System group with 'base'
that gets added to packageOperations. The packages module then
reinstalls base without --ignore, triggering the same init-logind
resolution bug. Adding the same --ignore logic from the basestrap
module.
Using --ignore=elogind-dinit (and alphabetically-before providers for
other inits) prevents pacman --noconfirm from resolving init-logind
to the wrong provider. This is more robust than installing the
provider separately, which can fail if base's deps are missing.
dinit-rc and openrc both provide AND conflict with virtual init-rc and
cannot coexist. When base depends on init-logind (virtual), pacman with
--noconfirm picks the first alphabetically -- elogind-dinit over
elogind-openrc -- pulling in dinit -> dinit-rc, which conflicts with
openrc (pulled by elogind-openrc via dbus-openrc).
Fix: use operations.insert(0, ...) so elogind-{init} installs as a
separate pacman call BEFORE base, satisfying init-logind before base
needs it.
- Add antergos-next-keyring to basestrap install list so keyring files
are available in the target early (uses host keyring which already
trusts the Antergos key)
- Add antergos-next to keyrings list so pacman-key --populate imports
the Antergos key into the target's keychain
- try_remove artix-release so antergos-release doesn't conflict when
packages module runs later (replaces= PKGBUILD fix also pushed, but
this works regardless of rebuild)
- Fix remove() method in basestrap main.py: was missing --root <target>,
causing removals to operate on the HOST instead of the target
The basestrap module from calamares-extensions had a hardcoded check that
skipped installing 'base' if hasInternet wasn't True in global storage.
This silently left the target empty, causing the packages module to fail
with error 127 (pacman not found in chroot).
Changes:
- Make hasInternet check configurable via skip_if_no_internet (default false),
matching the packages module pattern
- Fix potential NameError when netinstallAdd isn't in global storage
- Copy basestrap.conf to global modules override so it's available to online
mode (the launcher only copies settings.conf, not module configs)