forked from lix-project/lix
73acb8b836
Since SubstitutionGoal::finished() in build.cc computes the hash anyway, we can prevent the inefficiency of computing the hash twice by letting the substituter tell Nix about the expected hash, which can then verify it.
37 lines
967 B
Bash
Executable file
37 lines
967 B
Bash
Executable file
#! /bin/sh -e
|
|
echo substituter args: $* >&2
|
|
|
|
if test $1 = "--query"; then
|
|
while read cmd args; do
|
|
echo "CMD = $cmd, ARGS = $args" >&2
|
|
if test "$cmd" = "have"; then
|
|
for path in $args; do
|
|
read path
|
|
if grep -q "$path" $TEST_ROOT/sub-paths; then
|
|
echo $path
|
|
fi
|
|
done
|
|
echo
|
|
elif test "$cmd" = "info"; then
|
|
for path in $args; do
|
|
echo $path
|
|
echo "" # deriver
|
|
echo 0 # nr of refs
|
|
echo $((1 * 1024 * 1024)) # download size
|
|
echo $((2 * 1024 * 1024)) # nar size
|
|
done
|
|
echo
|
|
else
|
|
echo "bad command $cmd"
|
|
exit 1
|
|
fi
|
|
done
|
|
elif test $1 = "--substitute"; then
|
|
mkdir $2
|
|
echo "Hallo Wereld" > $2/hello
|
|
echo # no expected hash
|
|
else
|
|
echo "unknown substituter operation"
|
|
exit 1
|
|
fi
|