mirror of
https://github.com/NixOS/nix.git
synced 2025-11-27 12:41:00 +01:00
Changed the [solid-state-dependencies] list in the derivation to a single variable 'externalState' (since we also have a single state path) which can, for instance, be set to ~/.mozilla-test in the case of firefox (not bugfree yet)
This commit is contained in:
parent
68cb244c90
commit
89ab441fd2
10 changed files with 118 additions and 56 deletions
|
|
@ -1813,20 +1813,14 @@ PathSet getSharedWithPathSetRecTxn_private(const Transaction & txn, const Path &
|
|||
{
|
||||
//Get all paths pointing to statePath
|
||||
PathSet newStatePaths = getDirectlySharedWithPathSetTxn(txn, statePath);
|
||||
|
||||
/*
|
||||
printMsg(lvlError, format("getSharedWithPathSetRecTxn_private: '%1%'") % statePath);
|
||||
for (PathSet::const_iterator j = newStatePaths.begin(); j != newStatePaths.end(); ++j)
|
||||
printMsg(lvlError, format("newStatePaths '%1%'") % *j);
|
||||
*/
|
||||
|
||||
//go into recursion to see if there are more paths indirectly pointing to statePath
|
||||
for (PathSet::iterator i = newStatePaths.begin(); i != newStatePaths.end(); ++i){
|
||||
|
||||
//Only recurse on the really new statePaths to prevent infinite recursion
|
||||
if(statePaths.find(*i) == statePaths.end())
|
||||
{
|
||||
if(statePaths.find(*i) == statePaths.end()) {
|
||||
statePaths.insert(*i);
|
||||
statePaths = pathSets_union(statePaths, getSharedWithPathSetRecTxn_private(txn, *i, statePaths)); //TODO !!!!!!!!!!!!!!!!!!!!!!
|
||||
statePaths = pathSets_union(statePaths, getSharedWithPathSetRecTxn_private(txn, *i, statePaths));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue