nixos-rebuild: Add tty only to "sudo-able" commands for target
This solves again the problem solved by 09fd207cb8
.
To quote:
> We always want to use `ssh -t` to force PTY allocation as there may be
> interactive SSH prompts like trusting unknown hosts.
However, the creation of a pseudoterminal causes the remote stdout and stderr
to point to the same tty, resulting in a single stream in the ssh client,
which breaks other usages of ssh, such as `--build-host`.
Hence, this commit only sets the flag for invocations that need it -
or would need it if sudo were disabled. That should help with development
and gives a somewhat more consistent user experience.
This commit is contained in:
parent
99d3e0c168
commit
472dfb3888
1 changed files with 4 additions and 2 deletions
|
@ -196,9 +196,11 @@ targetHostCmd() {
|
||||||
|
|
||||||
targetHostSudoCmd() {
|
targetHostSudoCmd() {
|
||||||
if [ -n "$remoteSudo" ]; then
|
if [ -n "$remoteSudo" ]; then
|
||||||
useSudo=1 targetHostCmd "$@"
|
useSudo=1 SSHOPTS="$SSHOPTS -t" targetHostCmd "$@"
|
||||||
else
|
else
|
||||||
targetHostCmd "$@"
|
# While a tty might not be necessary, we apply it to be consistent with
|
||||||
|
# sudo usage, and an experience that is more consistent with local deployment.
|
||||||
|
SSHOPTS="$SSHOPTS -t" targetHostCmd "$@"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue