From bcd6cdf0d8d52bb5d459911bc552260d67c1bb38 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 9 Dec 2009 17:45:22 +0000 Subject: [PATCH] * Give a better error message when trying to build something and readOnlyMode is set. --- src/libstore/build.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 61b7d33261..2e0f166d4f 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -796,6 +796,9 @@ void DerivationGoal::init() { trace("init"); + if (readOnlyMode) + throw Error(format("cannot build derivation `%1%' - no write access to the Nix store") % drvPath); + /* The first thing to do is to make sure that the derivation exists. If it doesn't, it may be created through a substitute. */ @@ -2122,6 +2125,9 @@ void SubstitutionGoal::init() return; } + if (readOnlyMode) + throw Error(format("cannot substitute path `%1%' - no write access to the Nix store") % storePath); + subs = substituters; tryNext();