From: Michael Tremer Date: Sat, 26 Oct 2024 09:56:01 +0000 (+0000) Subject: linter: Send results to the logger by default X-Git-Tag: 0.9.30~864 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8ab86f6c2836d7fe6d8a37c5a012d23307bfcdb6;p=pakfire.git linter: Send results to the logger by default Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/archive.c b/src/libpakfire/archive.c index dc6321347..8fd1ea3ef 100644 --- a/src/libpakfire/archive.c +++ b/src/libpakfire/archive.c @@ -1835,7 +1835,8 @@ PAKFIRE_EXPORT int pakfire_archive_lint(struct pakfire_archive* archive, goto ERROR; // Set callback - pakfire_linter_set_result_callback(linter, callback, data); + if (callback) + pakfire_linter_set_result_callback(linter, callback, data); // Lint, lint, lint... r = pakfire_linter_lint(linter); diff --git a/src/libpakfire/linter.c b/src/libpakfire/linter.c index 3be333f36..c260addc3 100644 --- a/src/libpakfire/linter.c +++ b/src/libpakfire/linter.c @@ -69,6 +69,31 @@ struct pakfire_linter { void* result_data; }; +static int pakfire_linter_default_result_callback(struct pakfire_ctx* ctx, + struct pakfire_archive* archive, struct pakfire_package* package, + int priority, const char* result, void* data) { + const char* nevra = pakfire_package_get_string(package, PAKFIRE_PKG_NEVRA); + + switch (priority) { + case PAKFIRE_LINTER_INFO: + INFO(ctx, "%s: %s\n", nevra, result); + break; + + case PAKFIRE_LINTER_WARNING: + INFO(ctx, "%s: %s\n", nevra, result); + break; + + case PAKFIRE_LINTER_ERROR: + ERROR(ctx, "%s: %s\n", nevra, result); + break; + + default: + return -ENOTSUP; + } + + return 0; +} + static void pakfire_linter_result_free(struct pakfire_linter_result* result) { if (result->comment) free(result->comment); @@ -107,10 +132,6 @@ int pakfire_linter_result(struct pakfire_linter* linter, int priority, // Store the result TAILQ_INSERT_TAIL(&linter->results, result, nodes); - // Log the result - DEBUG(linter->ctx, "%s: %s", - pakfire_archive_get_path(linter->archive), result->comment); - // Call the callback if (linter->result_callback) { r = linter->result_callback(linter->ctx, linter->archive, linter->pkg, @@ -146,6 +167,9 @@ int pakfire_linter_create(struct pakfire_linter** linter, // Initialize results TAILQ_INIT(&l->results); + // Set the default callback + pakfire_linter_set_result_callback(l, pakfire_linter_default_result_callback, NULL); + // Store the archive l->archive = pakfire_archive_ref(archive);