From: Michael Tremer Date: Wed, 20 Jan 2021 21:17:57 +0000 (+0000) Subject: libpakfire: transaction: Pass the open database down to steps X-Git-Tag: 0.9.28~1285^2~837 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76a9f5dc23df81980414cb602694518ba6251abc;p=pakfire.git libpakfire: transaction: Pass the open database down to steps Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/include/pakfire/step.h b/src/libpakfire/include/pakfire/step.h index 03053cb4a..a8f54ca61 100644 --- a/src/libpakfire/include/pakfire/step.h +++ b/src/libpakfire/include/pakfire/step.h @@ -40,6 +40,8 @@ int pakfire_step_needs_download(PakfireStep step); #ifdef PAKFIRE_PRIVATE +#include + typedef enum _pakfire_script_types { PAKFIRE_SCRIPT_PREIN, PAKFIRE_SCRIPT_PREUN, @@ -55,7 +57,7 @@ typedef enum _pakfire_script_types { PAKFIRE_SCRIPT_POSTTRANSUP, } pakfire_script_type; -int pakfire_step_run(PakfireStep step, pakfire_action_type_t action); +int pakfire_step_run(PakfireStep step, struct pakfire_db* db, pakfire_action_type_t action); #endif diff --git a/src/libpakfire/step.c b/src/libpakfire/step.c index 59f857cad..6f2a20054 100644 --- a/src/libpakfire/step.c +++ b/src/libpakfire/step.c @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -457,7 +458,8 @@ static int pakfire_step_erase(PakfireStep step) { return 0; // TODO } -PAKFIRE_EXPORT int pakfire_step_run(PakfireStep step, const pakfire_action_type_t action) { +PAKFIRE_EXPORT int pakfire_step_run(PakfireStep step, + struct pakfire_db* db, const pakfire_action_type_t action) { DEBUG(step->pakfire, "Running Step %p (%s)\n", step, pakfire_action_type_string(action)); pakfire_step_type_t type = pakfire_step_get_type(step); diff --git a/src/libpakfire/transaction.c b/src/libpakfire/transaction.c index fe0d9ed7c..208d72566 100644 --- a/src/libpakfire/transaction.c +++ b/src/libpakfire/transaction.c @@ -311,7 +311,8 @@ PAKFIRE_EXPORT char* pakfire_transaction_dump(PakfireTransaction transaction, si return string; } -static int pakfire_transaction_run_steps(PakfireTransaction transaction, const pakfire_action_type_t action) { +static int pakfire_transaction_run_steps(PakfireTransaction transaction, + struct pakfire_db* db, const pakfire_action_type_t action) { int r = 0; // Walk through all steps @@ -320,7 +321,7 @@ static int pakfire_transaction_run_steps(PakfireTransaction transaction, const p PakfireStep step = *steps++; // Verify the step - r = pakfire_step_run(step, action); + r = pakfire_step_run(step, db, action); // End loop if action was unsuccessful if (r) { @@ -346,21 +347,21 @@ PAKFIRE_EXPORT int pakfire_transaction_run(PakfireTransaction transaction) { } // Verify steps - r = pakfire_transaction_run_steps(transaction, PAKFIRE_ACTION_VERIFY); + r = pakfire_transaction_run_steps(transaction, db, PAKFIRE_ACTION_VERIFY); if (r) goto ERROR; // Execute all pre transaction actions - r = pakfire_transaction_run_steps(transaction, PAKFIRE_ACTION_PRETRANS); + r = pakfire_transaction_run_steps(transaction, db, PAKFIRE_ACTION_PRETRANS); if (r) goto ERROR; - r = pakfire_transaction_run_steps(transaction, PAKFIRE_ACTION_EXECUTE); + r = pakfire_transaction_run_steps(transaction, db, PAKFIRE_ACTION_EXECUTE); if (r) goto ERROR; // Execute all post transaction actions - r = pakfire_transaction_run_steps(transaction, PAKFIRE_ACTION_POSTTRANS); + r = pakfire_transaction_run_steps(transaction, db, PAKFIRE_ACTION_POSTTRANS); if (r) goto ERROR;