feat: switch default init from OpenRC to Dinit
All approaches to keep OpenRC as default failed: - --ignore: pacman ignores it during fresh install provider resolution - --assume-installed=init-logind: ALPM doesn't check assume-installed for virtual providers - --ask=12: infinite loop (pacman re-adds elogind-dinit after each removal) - dummy package in custom repo: init-rc conflict hits via different path Dinit works because pacman --noconfirm naturally picks elogind-dinit (alphabetically before elogind-openrc), pulling dinit-rc which has no conflict. All inits (OpenRC, Runit, S6) remain selectable in the online installer. Changes: - buildiso: INITSYS='dinit', remove --assume-installed/--ask hacks - basestrap/main.py, packages/main.py: remove same hacks - profile.yaml: antergos-live-dinit for dinit, move openrc pkg to init-specific - packagechooser.conf (x2): default=Dinit, Dinit first in item list - packagechooser_dm.conf: *-dinit instead of *-openrc - README.md, README.pl.md, docs/*: update all OpenRC-first references - AGENTS.md: document dinit as default
This commit is contained in:
@@ -97,18 +97,7 @@ make_rootfs() {
|
||||
args+=(-P)
|
||||
fi
|
||||
|
||||
# Pre-tend init-logind is already provided so pacman's resolver
|
||||
# skips provider selection entirely. Without this, --noconfirm
|
||||
# picks elogind-dinit (alphabetically before elogind-openrc),
|
||||
# pulling in dinit -> dinit-rc which conflicts with openrc.
|
||||
# --ask 4 auto-answers YES to any residual conflict questions.
|
||||
local pacman_extra_args=()
|
||||
case "${INITSYS}" in
|
||||
openrc|runit|s6) pacman_extra_args=("--assume-installed=init-logind") ;;
|
||||
esac
|
||||
pacman_extra_args+=("--ask=4")
|
||||
|
||||
basestrap "${basestrap_args[@]}" "${args[@]}" "${rootfs}" "${packages[@]}" --overwrite='*' "${pacman_extra_args[@]}"
|
||||
basestrap "${basestrap_args[@]}" "${args[@]}" "${rootfs}" "${packages[@]}" --overwrite='*'
|
||||
|
||||
copy_overlay "${root_overlay}" "${rootfs}"
|
||||
|
||||
@@ -360,6 +349,7 @@ use_dracut=false
|
||||
squash_only=false
|
||||
boot_only=false
|
||||
copy_pacconf=false
|
||||
INITSYS='dinit'
|
||||
|
||||
basestrap_args=(-GMc)
|
||||
cmd=${0##*/}
|
||||
|
||||
Reference in New Issue
Block a user