about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/nix-store/main.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nix-store/main.cc b/src/nix-store/main.cc
index f7b2233e42ae..956cbb4fbbe4 100644
--- a/src/nix-store/main.cc
+++ b/src/nix-store/main.cc
@@ -423,8 +423,11 @@ static void opRegisterValidity(Strings opFlags, Strings opArgs)
             references.insert(s);
         }
         if (!cin || cin.eof()) throw Error("missing input");
-        if (!isValidPathTxn(txn, path))
+        if (!isValidPathTxn(txn, path)) {
+            /* !!! races */
+            canonicalisePathMetaData(path);
             registerValidPath(txn, path, hashPath(htSHA256, path), references, deriver);
+        }
     }
 
     txn.commit();