From a1a7f924e9be7d63f3941963726f9d44e764e9b3 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 16 Feb 2018 20:37:14 +0100 Subject: [PATCH] libpakfire: Improve logging when transactions are executed Signed-off-by: Michael Tremer --- src/libpakfire/step.c | 4 +++- src/libpakfire/transaction.c | 18 ++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/libpakfire/step.c b/src/libpakfire/step.c index d1c6eafd9..e8fc54a83 100644 --- a/src/libpakfire/step.c +++ b/src/libpakfire/step.c @@ -238,7 +238,6 @@ static int pakfire_step_verify(PakfireStep step) { // Verify the archive pakfire_archive_verify_status_t status = pakfire_archive_verify(archive); - pakfire_archive_unref(archive); return status; @@ -367,5 +366,8 @@ PAKFIRE_EXPORT int pakfire_step_run(PakfireStep step, const pakfire_action_type_ } END: + if (r) + ERROR(step->pakfire, "Step has failed: %s\n", strerror(r)); + return r; } diff --git a/src/libpakfire/transaction.c b/src/libpakfire/transaction.c index 751ceba1a..d1c608669 100644 --- a/src/libpakfire/transaction.c +++ b/src/libpakfire/transaction.c @@ -322,8 +322,10 @@ static int pakfire_transaction_run_steps(PakfireTransaction transaction, const p r = pakfire_step_run(step, action); // End loop if action was unsuccessful - if (r) + if (r) { + DEBUG(transaction->pakfire, "Step %p failed with code %d\n", step, r); break; + } } return r; @@ -331,7 +333,6 @@ static int pakfire_transaction_run_steps(PakfireTransaction transaction, const p PAKFIRE_EXPORT int pakfire_transaction_run(PakfireTransaction transaction) { DEBUG(transaction->pakfire, "Running Transaction %p\n", transaction); - int r = 0; // Verify steps @@ -342,18 +343,23 @@ PAKFIRE_EXPORT int pakfire_transaction_run(PakfireTransaction transaction) { // Execute all pre transaction actions r = pakfire_transaction_run_steps(transaction, PAKFIRE_ACTION_PRETRANS); if (r) - return r; + goto ERROR; r = pakfire_transaction_run_steps(transaction, PAKFIRE_ACTION_EXECUTE); if (r) - return r; + goto ERROR; // Execute all post transaction actions r = pakfire_transaction_run_steps(transaction, PAKFIRE_ACTION_POSTTRANS); if (r) - return r; + goto ERROR; - DEBUG(transaction->pakfire, "Transaction %p has finished successfully\n", transaction); + INFO(transaction->pakfire, "The transaction has finished successfully\n"); return 0; + +ERROR: + ERROR(transaction->pakfire, "The transaction was not executed successfully\n"); + + return r; } -- 2.39.5