about summary refs log tree commit diff
path: root/src/nix-env/profiles.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/nix-env/profiles.cc')
-rw-r--r--src/nix-env/profiles.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/nix-env/profiles.cc b/src/nix-env/profiles.cc
index a1e0c94a9198..d47c528b2d2c 100644
--- a/src/nix-env/profiles.cc
+++ b/src/nix-env/profiles.cc
@@ -58,7 +58,8 @@ Generations findGenerations(Path profile, int & curGen)
 }
 
 
-Path createGeneration(Path profile, Path outPath, Path drvPath)
+Path createGeneration(Path profile, Path outPath,
+    Path drvPath, Path clrPath)
 {
     /* The new generation number should be higher than old the
        previous ones. */
@@ -67,12 +68,13 @@ Path createGeneration(Path profile, Path outPath, Path drvPath)
     unsigned int num = gens.size() > 0 ? gens.front().number : 0;
         
     /* Create the new generation. */
-    Path generation, gcrootSrc;
+    Path generation, gcrootDrv, gcrootClr;
 
     while (1) {
         Path prefix = (format("%1%-%2%") % profile % num).str();
         generation = prefix + "-link";
-        gcrootSrc = prefix + "-src.gcroot";
+        gcrootDrv = prefix + "-drv.gcroot";
+        gcrootClr = prefix + "-clr.gcroot";
         if (symlink(outPath.c_str(), generation.c_str()) == 0) break;
         if (errno != EEXIST)
             throw SysError(format("creating symlink `%1%'") % generation);
@@ -80,7 +82,8 @@ Path createGeneration(Path profile, Path outPath, Path drvPath)
         num++;
     }
 
-    writeStringToFile(gcrootSrc, drvPath);
+    writeStringToFile(gcrootDrv, drvPath);
+    writeStringToFile(gcrootClr, clrPath);
 
     return generation;
 }