mirror of
https://github.com/NixOS/nix.git
synced 2025-11-08 19:46:02 +01:00
registerOutputs: Hoist up optimizePath call and comment rationale
This commit is contained in:
parent
646d1f5ff7
commit
35b08b71a4
1 changed files with 10 additions and 4 deletions
|
|
@ -1783,16 +1783,26 @@ SingleDrvOutputs DerivationBuilderImpl::registerOutputs()
|
|||
if (buildMode == bmRepair) {
|
||||
/* Path already exists, need to replace it */
|
||||
replaceValidPath(store.toRealPath(finalDestPath), actualPath);
|
||||
/* Optimize store object we just replaced with new
|
||||
(not-yet-optimized) data. */
|
||||
store.optimisePath(
|
||||
store.toRealPath(finalDestPath), NoRepair); // FIXME: combine with scanForReferences()
|
||||
} else if (store.isValidPath(newInfo.path)) {
|
||||
/* Path already exists because CA path produced by something
|
||||
else. No moving needed. */
|
||||
assert(newInfo.ca);
|
||||
/* Can delete our scratch copy now. */
|
||||
deletePath(actualPath);
|
||||
/* Presume already-existing store object is already
|
||||
optimized. */
|
||||
} else {
|
||||
auto destPath = store.toRealPath(finalDestPath);
|
||||
deletePath(destPath);
|
||||
movePath(actualPath, destPath);
|
||||
/* Optimize store object we just installed from new
|
||||
(not-yet-optimized) data. */
|
||||
store.optimisePath(
|
||||
store.toRealPath(finalDestPath), NoRepair); // FIXME: combine with scanForReferences()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1804,10 +1814,6 @@ SingleDrvOutputs DerivationBuilderImpl::registerOutputs()
|
|||
debug("unreferenced input: '%1%'", store.printStorePath(i));
|
||||
}
|
||||
|
||||
if (!store.isValidPath(newInfo.path))
|
||||
store.optimisePath(
|
||||
store.toRealPath(finalDestPath), NoRepair); // FIXME: combine with scanForReferences()
|
||||
|
||||
newInfo.deriver = drvPath;
|
||||
newInfo.ultimate = true;
|
||||
store.signPathInfo(newInfo);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue