fix: No second sudo password prompt while installing yay

makepkg -si installs with sudo -k, which forgets the cached password.
Build with makepkg, install with sudo pacman -U.
This commit is contained in:
theupriser committed 2026-09-25 08:35:54 +02:00
1 parent 1522e5632d
commit 6c2e203563
2 files changed
+9 -1

No files matched your search

+3
View File
@@ -32,6 +32,9 @@ one per merged pull request.
unchanged, when single user mode is off; the single user wallet is kept unchanged, when single user mode is off; the single user wallet is kept
and reused next time. and reused next time.
- Moved from the SteamOS theme, where it only helped without any wallet. - Moved from the SteamOS theme, where it only helped without any wallet.
- **fix: No second sudo password prompt while installing yay**
- `makepkg -si` installs with `sudo -k`, which forgets the cached password;
yay is now built with makepkg and installed with `sudo pacman -U`.
- **docs: LICENSE.md** with the MIT license the README already named. - **docs: LICENSE.md** with the MIT license the README already named.
- **chore: No more `setup-gamescope-boot.sh` release asset** - **chore: No more `setup-gamescope-boot.sh` release asset**
- Only `steamify.sh` is published; the old name from before 0.9.0 is gone. - Only `steamify.sh` is published; the old name from before 0.9.0 is gone.
+6 -1
View File
@@ -41,8 +41,13 @@ bootstrap_yay() {
return 1 return 1
fi fi
# Build only, then install it ourselves: makepkg -i runs `sudo -k pacman`,
# which forgets the cached sudo password and asks for it again.
info "Building and installing yay (this runs makepkg as your user, not root)..." info "Building and installing yay (this runs makepkg as your user, not root)..."
if (cd "$tmp_dir/yay-bin" && makepkg -si --noconfirm); then local -a pkgs
if (cd "$tmp_dir/yay-bin" && makepkg --noconfirm) &&
mapfile -t pkgs < <(cd "$tmp_dir/yay-bin" && makepkg --packagelist | grep -v -- '-debug-') &&
sudo pacman -U --noconfirm "${pkgs[@]}"; then
ok "yay installed." ok "yay installed."
rm -rf "$tmp_dir" rm -rf "$tmp_dir"
return 0 return 0