1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-25 06:31:14 +02:00

* `nix-store --realise': print what paths will be built/downloaded,

just like nix-env.
* `nix-store --realise': --dry-run option.
This commit is contained in:
Eelco Dolstra 2008-08-04 13:44:46 +00:00
parent 42043953c3
commit a1d310b6b5
4 changed files with 50 additions and 37 deletions

View file

@ -531,8 +531,8 @@ static void queryInstSources(EvalState & state,
static void printMissing(EvalState & state, const DrvInfos & elems)
{
PathSet targets, willBuild, willSubstitute, unknown;
for (DrvInfos::const_iterator i = elems.begin(); i != elems.end(); ++i) {
PathSet targets;
foreach (DrvInfos::const_iterator, i, elems) {
Path drvPath = i->queryDrvPath(state);
if (drvPath != "")
targets.insert(drvPath);
@ -540,28 +540,7 @@ static void printMissing(EvalState & state, const DrvInfos & elems)
targets.insert(i->queryOutPath(state));
}
unsigned long long downloadSize;
queryMissing(targets, willBuild, willSubstitute, unknown, downloadSize);
if (!willBuild.empty()) {
printMsg(lvlInfo, format("the following derivations will be built:"));
foreach (PathSet::iterator, i, willBuild)
printMsg(lvlInfo, format(" %1%") % *i);
}
if (!willSubstitute.empty()) {
printMsg(lvlInfo, format("the following paths will be downloaded/copied (%.2f MiB):") %
(downloadSize / (1024.0 * 1024.0)));
foreach (PathSet::iterator, i, willSubstitute)
printMsg(lvlInfo, format(" %1%") % *i);
}
if (!unknown.empty()) {
printMsg(lvlInfo, format("don't know how to build the following paths%1%:")
% (readOnlyMode ? " (may be caused by read-only store access)" : ""));
foreach (PathSet::iterator, i, unknown)
printMsg(lvlInfo, format(" %1%") % *i);
}
printMissing(targets);
}