about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/resolve-system-dependencies/resolve-system-dependencies.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/resolve-system-dependencies/resolve-system-dependencies.cc b/src/resolve-system-dependencies/resolve-system-dependencies.cc
index 641069c2c7ac..4b2f55f09580 100644
--- a/src/resolve-system-dependencies/resolve-system-dependencies.cc
+++ b/src/resolve-system-dependencies/resolve-system-dependencies.cc
@@ -171,12 +171,17 @@ int main(int argc, char ** argv) {
 
             uname(&_uname);
 
-            cacheDir = (format("%1%/dependency-maps/%2%-%3%-%4%")
-                    % settings.nixStateDir
+            auto cacheParentDir = (format("%1%/dependency-maps") % settings.nixStateDir).str();
+
+            cacheDir = (format("%1%/%2%-%3%-%4%")
+                    % cacheParentDir
                     % _uname.machine
                     % _uname.sysname
                     % _uname.release).str();
 
+            mkdir(cacheParentDir.c_str(), 0755);
+            mkdir(cacheDir.c_str(), 0755);
+
             auto store = openStore();
 
             auto drv = store->derivationFromPath(Path(argv[1]));