sudo: Prioritize sudo_as_root over HOMEBREW_SUDO_THROUGH_SUDO_USER.

This commit is contained in:
Ilya Kulakov 2023-12-19 22:39:44 -08:00
parent f61ef4be2f
commit 907da26e33

View File

@ -183,15 +183,15 @@ class SystemCommand
def sudo_prefix def sudo_prefix
askpass_flags = ENV.key?("SUDO_ASKPASS") ? ["-A"] : [] askpass_flags = ENV.key?("SUDO_ASKPASS") ? ["-A"] : []
user_flags = [] user_flags = []
if Homebrew::EnvConfig.sudo_through_sudo_user? if sudo_as_root?
user_flags += ["-u", "root"]
elsif Homebrew::EnvConfig.sudo_through_sudo_user?
raise ArgumentError, "HOMEBREW_SUDO_THROUGH_SUDO_USER set but SUDO_USER unset!" if homebrew_sudo_user.blank? raise ArgumentError, "HOMEBREW_SUDO_THROUGH_SUDO_USER set but SUDO_USER unset!" if homebrew_sudo_user.blank?
user_flags += ["--prompt", "Password for %p:", "-u", homebrew_sudo_user, user_flags += ["--prompt", "Password for %p:", "-u", homebrew_sudo_user,
*askpass_flags, *askpass_flags,
"-E", *env_args, "-E", *env_args,
"--", "/usr/bin/sudo"] "--", "/usr/bin/sudo"]
elsif sudo_as_root?
user_flags += ["-u", "root"]
end end
["/usr/bin/sudo", *user_flags, *askpass_flags, "-E", *env_args, "--"] ["/usr/bin/sudo", *user_flags, *askpass_flags, "-E", *env_args, "--"]
end end