1
1
Fork 0
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:
Wouter den Breejen 2007-09-03 19:22:09 +00:00
parent 68cb244c90
commit 89ab441fd2
10 changed files with 118 additions and 56 deletions

View file

@ -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));
}
}