diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-08-02T12·54+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-08-02T12·54+0000 |
commit | 3c92ea399d717dc45b3fa91424c0dadc0239ebf2 (patch) | |
tree | 7cde9f533a6ee575615da5452e04c05dc0939f02 /src/libstore/misc.cc | |
parent | fc691e1cbdcddb8c553cba06d4089bc1b60e3d98 (diff) |
* 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.
Diffstat (limited to 'src/libstore/misc.cc')
-rw-r--r-- | src/libstore/misc.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/libstore/misc.cc b/src/libstore/misc.cc index 4b192ec9a0d9..acf9346d4bdc 100644 --- a/src/libstore/misc.cc +++ b/src/libstore/misc.cc @@ -1,5 +1,6 @@ #include "misc.hh" #include "store-api.hh" +#include "local-store.hh" #include <aterm2.h> @@ -79,10 +80,13 @@ void queryMissing(const PathSet & targets, else { if (store->isValidPath(p)) continue; - if (store->hasSubstitutes(p)) + SubstitutablePathInfo info; + if (dynamic_cast<LocalStore *>(store.get())->querySubstitutablePathInfo(p, info)) { willSubstitute.insert(p); - // XXX call the substituters - // store->queryReferences(p, todo); + todo.insert(info.references.begin(), info.references.end()); + } + /* Not substitutable and not buildable; should we flag + this? */ } } } |