From: Michael Tremer Date: Wed, 20 Jan 2021 21:03:04 +0000 (+0000) Subject: libpakfire: transaction: Open the database when needed X-Git-Tag: 0.9.28~1285^2~838 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a70547e257e768ea6f2d10abf81a32a5afcdc38b;p=pakfire.git libpakfire: transaction: Open the database when needed Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/transaction.c b/src/libpakfire/transaction.c index d1c608669..fe0d9ed7c 100644 --- a/src/libpakfire/transaction.c +++ b/src/libpakfire/transaction.c @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -332,13 +333,22 @@ static int pakfire_transaction_run_steps(PakfireTransaction transaction, const p } PAKFIRE_EXPORT int pakfire_transaction_run(PakfireTransaction transaction) { + struct pakfire_db* db; + int r; + DEBUG(transaction->pakfire, "Running Transaction %p\n", transaction); - int r = 0; + + // Open the database + r = pakfire_db_open(&db, transaction->pakfire); + if (r) { + ERROR(transaction->pakfire, "Could not open the database\n"); + return r; + } // Verify steps r = pakfire_transaction_run_steps(transaction, PAKFIRE_ACTION_VERIFY); if (r) - return r; + goto ERROR; // Execute all pre transaction actions r = pakfire_transaction_run_steps(transaction, PAKFIRE_ACTION_PRETRANS); @@ -354,12 +364,11 @@ PAKFIRE_EXPORT int pakfire_transaction_run(PakfireTransaction transaction) { if (r) goto ERROR; - INFO(transaction->pakfire, "The transaction has finished successfully\n"); - - return 0; + DEBUG(transaction->pakfire, "The transaction has finished successfully\n"); ERROR: - ERROR(transaction->pakfire, "The transaction was not executed successfully\n"); + // Free the database + pakfire_db_unref(db); return r; }