* Substitutes now should produce a path with the same id as they are
substituting for (obvious, really). * For greater efficiency, nix-pull/unnar will place the output in a path that is probably the same as what is actually needed, thus preventing a path copy. * Even if a output id is given in a Fix package expression, ensure that the resulting Nix derive expression has a different id. This is because Nix expressions that are semantically equivalent (i.e., build the same result) might be different w.r.t. efficiency or divergence. It is absolutely vital for the substitute mechanism that such expressions are not used interchangeably.
This commit is contained in:
parent
df648c4967
commit
e877c69d78
8 changed files with 86 additions and 50 deletions
|
|
@ -5,11 +5,11 @@
|
|||
|
||||
|
||||
/* Normalise an fstate-expression, that is, return an equivalent
|
||||
Slice. */
|
||||
Slice normaliseFState(FSId id);
|
||||
Slice. (For the meaning of `pending', see expandId()). */
|
||||
Slice normaliseFState(FSId id, FSIdSet pending = FSIdSet());
|
||||
|
||||
/* Realise a Slice in the file system. */
|
||||
void realiseSlice(const Slice & slice);
|
||||
void realiseSlice(const Slice & slice, FSIdSet pending = FSIdSet());
|
||||
|
||||
/* Get the list of root (output) paths of the given
|
||||
fstate-expression. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue