1
0
Fork 0

Gentoo emerge: use --autounmask-continue (auto-apply + continue)

--autounmask-write=y writes the unmask file but emerge still
aborts because CONFIG_PROTECT marks the file as needing manual
review. --autounmask-continue=y is the right flag — it writes the
unmask AND continues the merge without aborting.

Discovered via the 'Autounmask changes successfully written.' message
followed by an immediate abort. The error message about
'autounmask-write' was actually about re-running with that flag,
not about what happened.

Applied to all three emerge invocations (main + GURU + sway).
This commit is contained in:
Rain 2026-06-23 17:51:56 -04:00
parent 0460a8c653
commit a4434a1f01
2 changed files with 9 additions and 3 deletions

View file

@ -143,8 +143,14 @@ if (( ${#MISSING_PKGS[@]} > 0 )); then
# unmask files (lazygit is ~amd64 only). Without --autounmask-write, # unmask files (lazygit is ~amd64 only). Without --autounmask-write,
# emerge only DISPLAYS the needed changes and aborts. # emerge only DISPLAYS the needed changes and aborts.
# --autounmask-license=y: auto-accept license unmask # --autounmask-license=y: auto-accept license unmask
# --autounmask-continue=y: auto-apply ~amd64 keyword unmask AND
# continue (instead of aborting after the unmask). Needed for
# GURU packages like dev-vcs/lazygit which are ~amd64-only.
# Without this, --autounmask-write will write the unmask file
# but emerge aborts because CONFIG_PROTECT marks the file as
# needing manual review.
sudo emerge --ask=n --nospinner --quiet-build --keep-going \ sudo emerge --ask=n --nospinner --quiet-build --keep-going \
--with-bdeps=y --autounmask=y --autounmask-write=y --autounmask-license=y \ --with-bdeps=y --autounmask-continue=y --autounmask-license=y \
"${MISSING_PKGS[@]}" "${MISSING_PKGS[@]}"
else else
log "all user packages already installed; skipping emerge" log "all user packages already installed; skipping emerge"
@ -184,7 +190,7 @@ done
if (( ${#GURU_MISSING[@]} > 0 )); then if (( ${#GURU_MISSING[@]} > 0 )); then
log "emerge GURU packages (missing: ${GURU_MISSING[*]})" log "emerge GURU packages (missing: ${GURU_MISSING[*]})"
sudo emerge --ask=n --nospinner --quiet-build --keep-going \ sudo emerge --ask=n --nospinner --quiet-build --keep-going \
--with-bdeps=y --autounmask=y --autounmask-write=y --autounmask-license=y \ --with-bdeps=y --autounmask-continue=y --autounmask-license=y \
"${GURU_MISSING[@]}" "${GURU_MISSING[@]}"
fi fi

View file

@ -71,7 +71,7 @@ if (( ${#MISSING_PKGS[@]} > 0 )); then
log "missing: ${MISSING_PKGS[*]}" log "missing: ${MISSING_PKGS[*]}"
log "emerge sway stack (gentoo compiles from source; this may take a while)" log "emerge sway stack (gentoo compiles from source; this may take a while)"
sudo emerge --ask=n --nospinner --quiet-build --keep-going \ sudo emerge --ask=n --nospinner --quiet-build --keep-going \
--with-bdeps=y --autounmask=y --autounmask-write=y --autounmask-license=y \ --with-bdeps=y --autounmask-continue=y --autounmask-license=y \
"${MISSING_PKGS[@]}" "${MISSING_PKGS[@]}"
else else
log "all sway packages already installed; skipping emerge" log "all sway packages already installed; skipping emerge"