1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-08 11:03:54 +02:00

* Make nix-env --dry-run print the paths to be substituted correctly

again.  (After the previous substituter mechanism refactoring I
  didn't update the code that obtains the references of substitutable
  paths.)  This required some refactoring: the substituter programs
  are now kept running and receive/respond to info requests via
  stdin/stdout.
This commit is contained in:
Eelco Dolstra 2008-08-02 12:54:35 +00:00
parent fc691e1cbd
commit 3c92ea399d
14 changed files with 338 additions and 272 deletions

View file

@ -1,14 +1,25 @@
#! /bin/sh -e
echo substituter args: $* >&2
if test $1 = "--query-paths"; then
cat $TEST_ROOT/sub-paths
elif test $1 = "--query-info"; then
shift
for i in in $@; do
echo $i
echo "" # deriver
echo 0 # nr of refs
if test $1 = "--query"; then
while read cmd; do
echo FOO $cmd >&2
if test "$cmd" = "have"; then
read path
if grep -q "$path" $TEST_ROOT/sub-paths; then
echo 1
else
echo 0
fi
elif test "$cmd" = "info"; then
read path
echo 1
echo "" # deriver
echo 0 # nr of refs
else
echo "bad command $cmd"
exit 1
fi
done
elif test $1 = "--substitute"; then
mkdir $2

View file

@ -1,14 +1,24 @@
#! /bin/sh -e
echo substituter2 args: $* >&2
if test $1 = "--query-paths"; then
cat $TEST_ROOT/sub-paths
elif test $1 = "--query-info"; then
shift
for i in in $@; do
echo $i
echo "" # deriver
echo 0 # nr of refs
if test $1 = "--query"; then
while read cmd; do
if test "$cmd" = "have"; then
read path
if grep -q "$path" $TEST_ROOT/sub-paths; then
echo 1
else
echo 0
fi
elif test "$cmd" = "info"; then
read path
echo 1
echo "" # deriver
echo 0 # nr of refs
else
echo "bad command $cmd"
exit 1
fi
done
elif test $1 = "--substitute"; then
exit 1