diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-12-01T21·00+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-12-01T21·00+0000 |
commit | fcd9900d74b0eb3d57402c448ede2a411133fa46 (patch) | |
tree | 642df2be381e3c9b239ca59c170052a43113fa30 /src/libstore | |
parent | a824d58b566752b2a89a718fd628053754968d72 (diff) |
* Replace read-only calls to addTextToStore.
Diffstat (limited to 'src/libstore')
-rw-r--r-- | src/libstore/derivations.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libstore/derivations.cc b/src/libstore/derivations.cc index d159d47a5e4a..aea95ef31477 100644 --- a/src/libstore/derivations.cc +++ b/src/libstore/derivations.cc @@ -1,6 +1,7 @@ #include "derivations.hh" #include "store-api.hh" #include "aterm.hh" +#include "globals.hh" #include "derivations-ast.hh" #include "derivations-ast.cc" @@ -25,8 +26,11 @@ Path writeDerivation(const Derivation & drv, const string & name) /* Note that the outputs of a derivation are *not* references (that can be missing (of course) and should not necessarily be held during a garbage collection). */ - return store->addTextToStore(name + drvExtension, - atPrint(unparseDerivation(drv)), references); + string suffix = name + drvExtension; + string contents = atPrint(unparseDerivation(drv)); + return readOnlyMode + ? computeStorePathForText(suffix, contents) + : store->addTextToStore(suffix, contents, references); } |