forked from lix-project/lix
That's expected by `build-remote` and makes sure that errors are
correctly forwarded to the user. For instance, let's say that the
host-key of `example.org` is unknown and
nix-build ../nixpkgs -A hello -j0 --builders 'ssh-ng://example.org'
is issued, then you get the following output:
cannot build on 'ssh-ng://example.org?&': error: failed to start SSH connection to 'example.org'
Failed to find a machine for remote build!
derivation: yh46gakxq3kchrbihwxvpn5bmadcw90b-hello-2.12.1.drv
required (system, features): (x86_64-linux, [])
2 available machines:
[...]
The relevant information (`Host key verification failed`) ends up in the
daemon's log, but that's not very obvious considering that the daemon
isn't very chatty normally.
This can be fixed - the same way as its done for legacy-ssh - by passing
fd 4 to the SSH wrapper. Now you'd get the following error:
cannot build on 'ssh-ng://example.org': error: failed to start SSH connection to 'example.org': Host key verification failed.
Failed to find a machine for remote build!
[...]
...and now it's clear what's wrong.
Please note that this is won't end up in the derivation's log.
For previous discussion about this change see
https://github.com/NixOS/nix/pull/7659.
Change-Id:
|
||
---|---|---|
.. | ||
ca-fd-leak | ||
containers | ||
fetch-git | ||
root-in-sandbox | ||
authorization.nix | ||
default.nix | ||
github-flakes.nix | ||
nix-copy-closure.nix | ||
nix-copy.nix | ||
nss-preload.nix | ||
remote-builds-ssh-ng.nix | ||
remote-builds.nix | ||
setuid.nix | ||
sourcehut-flakes.nix | ||
symlink-resolvconf.nix | ||
tarball-flakes.nix | ||
util.nix |