#ifdef PAKFIRE_PRIVATE
+#include <pakfire/db.h>
+
typedef enum _pakfire_script_types {
PAKFIRE_SCRIPT_PREIN,
PAKFIRE_SCRIPT_PREUN,
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
#include <pakfire/archive.h>
#include <pakfire/constants.h>
+#include <pakfire/db.h>
#include <pakfire/execute.h>
#include <pakfire/logging.h>
#include <pakfire/package.h>
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);
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
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) {
}
// 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;