2024-05-28 14:10:02 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2020-08-12 03:47:36 +00:00
|
|
|
source common.sh
|
|
|
|
|
2023-04-17 13:35:43 +00:00
|
|
|
enableFeatures "daemon-trust-override"
|
|
|
|
|
2024-06-16 10:51:46 +00:00
|
|
|
TODO_NixOS
|
2023-04-17 13:35:43 +00:00
|
|
|
restartDaemon
|
|
|
|
|
2023-12-04 01:18:58 +00:00
|
|
|
requireSandboxSupport
|
2023-04-07 15:13:23 +00:00
|
|
|
[[ $busybox =~ busybox ]] || skipTest "no busybox"
|
|
|
|
|
|
|
|
unset NIX_STORE_DIR
|
|
|
|
unset NIX_STATE_DIR
|
|
|
|
|
|
|
|
# We first build a dependency of the derivation we eventually want to
|
|
|
|
# build.
|
|
|
|
nix-build build-hook.nix -A passthru.input2 \
|
|
|
|
-o "$TEST_ROOT/input2" \
|
|
|
|
--arg busybox "$busybox" \
|
|
|
|
--store "$TEST_ROOT/local" \
|
|
|
|
--option system-features bar
|
|
|
|
|
|
|
|
# Now when we go to build that downstream derivation, Nix will try to
|
|
|
|
# copy our already-build `input2` to the remote store. That store object
|
|
|
|
# is input-addressed, so this will fail.
|
|
|
|
|
2024-05-28 14:10:02 +00:00
|
|
|
# For script below
|
|
|
|
# shellcheck disable=SC2034
|
2020-08-12 03:47:36 +00:00
|
|
|
file=build-hook.nix
|
2024-05-28 14:10:02 +00:00
|
|
|
# shellcheck disable=SC2034
|
2020-08-12 03:47:36 +00:00
|
|
|
prog=$(readlink -e ./nix-daemon-untrusting.sh)
|
2024-05-28 14:10:02 +00:00
|
|
|
# shellcheck disable=SC2034
|
2020-08-12 03:47:36 +00:00
|
|
|
proto=ssh-ng
|
|
|
|
|
2023-04-07 15:13:23 +00:00
|
|
|
expectStderr 1 source build-remote-trustless.sh \
|
|
|
|
| grepQuiet "cannot add path '[^ ]*' because it lacks a signature by a trusted key"
|