From 0460a8c653d269781f1c56cd8a3801484891993e Mon Sep 17 00:00:00 2001 From: rain Date: Tue, 23 Jun 2026 17:50:51 -0400 Subject: [PATCH] Gentoo emerge: add --autounmask-write (the missing piece for ~amd64) Discovered via man: --autounmask=y alone only DISPLAYS the needed keyword changes and aborts. The actual write to /etc/portage/... files requires --autounmask-write=y (or --autounmask-continue=y which also auto-continues after writing). Without --autounmask-write, every lazygit (and any other ~amd64-only GURU package) install fails with: The following keyword changes are necessary to proceed: =dev-vcs/lazygit-0.62.2 ~amd64 Use --autounmask-write to write changes to config files Added to all three emerge invocations: - run_once_20-install-user-packages-gentoo.sh.tmpl: main loop - run_once_20-install-user-packages-gentoo.sh.tmpl: GURU loop - run_once_40-install-sway-gentoo.sh.tmpl --- run_once_20-install-user-packages-gentoo.sh.tmpl | 9 +++++---- run_once_40-install-sway-gentoo.sh.tmpl | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/run_once_20-install-user-packages-gentoo.sh.tmpl b/run_once_20-install-user-packages-gentoo.sh.tmpl index ee61aca..5abcfc9 100644 --- a/run_once_20-install-user-packages-gentoo.sh.tmpl +++ b/run_once_20-install-user-packages-gentoo.sh.tmpl @@ -139,11 +139,12 @@ if (( ${#MISSING_PKGS[@]} > 0 )); then # --quiet-build: only show errors during compile # --keep-going: don't abort if one package fails # --with-bdeps=y: include build deps so we don't accidentally skip them - # --autounmask=y: auto-write ~amd64 keyword unmask files (lazygit - # is ~amd64 only) + # --autounmask=y --autounmask-write=y: auto-write ~amd64 keyword + # unmask files (lazygit is ~amd64 only). Without --autounmask-write, + # emerge only DISPLAYS the needed changes and aborts. # --autounmask-license=y: auto-accept license unmask sudo emerge --ask=n --nospinner --quiet-build --keep-going \ - --with-bdeps=y --autounmask=y --autounmask-license=y \ + --with-bdeps=y --autounmask=y --autounmask-write=y --autounmask-license=y \ "${MISSING_PKGS[@]}" else log "all user packages already installed; skipping emerge" @@ -183,7 +184,7 @@ done if (( ${#GURU_MISSING[@]} > 0 )); then log "emerge GURU packages (missing: ${GURU_MISSING[*]})" sudo emerge --ask=n --nospinner --quiet-build --keep-going \ - --with-bdeps=y --autounmask=y --autounmask-license=y \ + --with-bdeps=y --autounmask=y --autounmask-write=y --autounmask-license=y \ "${GURU_MISSING[@]}" fi diff --git a/run_once_40-install-sway-gentoo.sh.tmpl b/run_once_40-install-sway-gentoo.sh.tmpl index 1506b74..be78d94 100644 --- a/run_once_40-install-sway-gentoo.sh.tmpl +++ b/run_once_40-install-sway-gentoo.sh.tmpl @@ -71,7 +71,7 @@ if (( ${#MISSING_PKGS[@]} > 0 )); then log "missing: ${MISSING_PKGS[*]}" log "emerge sway stack (gentoo compiles from source; this may take a while)" sudo emerge --ask=n --nospinner --quiet-build --keep-going \ - --with-bdeps=y --autounmask=y --autounmask-license=y \ + --with-bdeps=y --autounmask=y --autounmask-write=y --autounmask-license=y \ "${MISSING_PKGS[@]}" else log "all sway packages already installed; skipping emerge"