From b0aba6ec2ac09d5ecdf0068b91010cdee1caae9d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 14 Feb 2005 10:44:57 +0000 Subject: [PATCH] * Don't keep the derivation symlink when creating profile generations. --- src/nix-env/profiles.cc | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/nix-env/profiles.cc b/src/nix-env/profiles.cc index 20aaded77..52144eb2f 100644 --- a/src/nix-env/profiles.cc +++ b/src/nix-env/profiles.cc @@ -61,12 +61,11 @@ Generations findGenerations(Path profile, int & curGen) } -static void makeNames(const Path & profile, unsigned int num, - Path & outLink, Path & drvLink) +static void makeName(const Path & profile, unsigned int num, + Path & outLink) { Path prefix = (format("%1%-%2%") % profile % num).str(); outLink = prefix + "-link"; - drvLink = prefix + "-drv"; } @@ -79,10 +78,10 @@ Path createGeneration(Path profile, Path outPath, Path drvPath) unsigned int num = gens.size() > 0 ? gens.front().number : 0; /* Create the new generation. */ - Path outLink, drvLink; + Path outLink; while (1) { - makeNames(profile, num, outLink, drvLink); + makeName(profile, num, outLink); if (symlink(outPath.c_str(), outLink.c_str()) == 0) break; if (errno != EEXIST) throw SysError(format("creating symlink `%1%'") % outLink); @@ -90,9 +89,6 @@ Path createGeneration(Path profile, Path outPath, Path drvPath) num++; } - if (symlink(drvPath.c_str(), drvLink.c_str()) != 0) - throw SysError(format("creating symlink `%1%'") % drvLink); - return outLink; } @@ -106,10 +102,9 @@ static void removeFile(const Path & path) void deleteGeneration(const Path & profile, unsigned int gen) { - Path generation, gcrootDrv; - makeNames(profile, gen, generation, gcrootDrv); + Path generation; + makeName(profile, gen, generation); removeFile(generation); - if (pathExists(gcrootDrv)) removeFile(gcrootDrv); }