switch from printError warnings to logWarnings

This commit is contained in:
Ben Burdette 2020-05-11 13:02:16 -06:00
parent 55eb717148
commit 958e81987b
6 changed files with 31 additions and 10 deletions

View file

@ -3647,7 +3647,11 @@ void DerivationGoal::registerOutputs()
/* Apply hash rewriting if necessary. */ /* Apply hash rewriting if necessary. */
bool rewritten = false; bool rewritten = false;
if (!outputRewrites.empty()) { if (!outputRewrites.empty()) {
printError("warning: rewriting hashes in '%1%'; cross fingers", path); logWarning(
ErrorInfo {
.name = "Rewriting hashes",
.hint = hintfmt("rewriting hashes in '%1%'; cross fingers", path)
});
/* Canonicalise first. This ensures that the path we're /* Canonicalise first. This ensures that the path we're
rewriting doesn't contain a hard link to /etc/shadow or rewriting doesn't contain a hard link to /etc/shadow or
@ -4414,8 +4418,12 @@ void SubstitutionGoal::tryNext()
&& !sub->isTrusted && !sub->isTrusted
&& !info->checkSignatures(worker.store, worker.store.getPublicKeys())) && !info->checkSignatures(worker.store, worker.store.getPublicKeys()))
{ {
printError("warning: substituter '%s' does not have a valid signature for path '%s'", logWarning(
sub->getUri(), worker.store.printStorePath(storePath)); ErrorInfo {
.name = "Invalid path signature",
.hint = hintfmt("substituter '%s' does not have a valid signature for path '%s'",
sub->getUri(), worker.store.printStorePath(storePath))
});
tryNext(); tryNext();
return; return;
} }

View file

@ -769,7 +769,11 @@ void ValidPathInfo::sign(const Store & store, const SecretKey & secretKey)
bool ValidPathInfo::isContentAddressed(const Store & store) const bool ValidPathInfo::isContentAddressed(const Store & store) const
{ {
auto warn = [&]() { auto warn = [&]() {
printError("warning: path '%s' claims to be content-addressed but isn't", store.printStorePath(path)); logWarning(
ErrorInfo{
.name = "Path not content-addressed",
.hint = hintfmt("path '%s' claims to be content-addressed but isn't", store.printStorePath(path))
});
}; };
if (hasPrefix(ca, "text:")) { if (hasPrefix(ca, "text:")) {

View file

@ -161,7 +161,7 @@ std::ostream& operator<<(std::ostream &out, const ErrorInfo &einfo)
einfo.programName.value_or("")) einfo.programName.value_or(""))
<< std::endl; << std::endl;
// filename. // filename, line, column.
if (einfo.nixCode.has_value()) { if (einfo.nixCode.has_value()) {
if (einfo.nixCode->errPos.file != "") { if (einfo.nixCode->errPos.file != "") {
out << fmt("%1%in file: " ANSI_BLUE "%2% %3%" ANSI_NORMAL, out << fmt("%1%in file: " ANSI_BLUE "%2% %3%" ANSI_NORMAL,

View file

@ -52,7 +52,10 @@ size_t threshold = 256 * 1024 * 1024;
static void warnLargeDump() static void warnLargeDump()
{ {
printError("warning: dumping very large path (> 256 MiB); this may run out of memory"); logWarning(ErrorInfo {
.name = "Large path",
.description = "dumping very large path (> 256 MiB); this may run out of memory"
});
} }

View file

@ -368,9 +368,12 @@ static void _main(int argc, char * * argv)
shell = drv->queryOutPath() + "/bin/bash"; shell = drv->queryOutPath() + "/bin/bash";
} catch (Error & e) { } catch (Error & e) {
// TODO: append error msg; warn()? logWarning(
logError(e.info()); ErrorInfo {
printError("warning: %s; will use bash from your environment", e.what()); .name = "bashInteractive",
.hint = hintfmt("%s; will use bash from your environment",
(e.info().hint ? e.info().hint->str() : ""))
});
shell = "bash"; shell = "bash";
} }
} }

View file

@ -704,7 +704,10 @@ static void opVerify(Strings opFlags, Strings opArgs)
else throw UsageError("unknown flag '%1%'", i); else throw UsageError("unknown flag '%1%'", i);
if (store->verifyStore(checkContents, repair)) { if (store->verifyStore(checkContents, repair)) {
printError("warning: not all errors were fixed"); logWarning(ErrorInfo {
.name = "Store consistency",
.description = "not all errors were fixed"
});
throw Exit(1); throw Exit(1);
} }
} }