Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=d2e4cbb9dcb91b374fdc673bb6dc8780f3a41138
commit d2e4cbb9dcb91b374fdc673bb6dc8780f3a41138 Author: Michel Hermier <[email protected]> Date: Sun Nov 3 12:55:20 2013 +0100 libpacman: Do not forget to comput triggers before calling prepare (Maybe not the best place, but will do for now). diff --git a/lib/libpacman/packages_transaction.c b/lib/libpacman/packages_transaction.c index cbafffe..a7d5b97 100644 --- a/lib/libpacman/packages_transaction.c +++ b/lib/libpacman/packages_transaction.c @@ -27,7 +27,7 @@ #include "util.h" static const char *trigger_function_table[STATE_MAX] = { - [STATE_COMMITED] = "triggered", + [STATE_COMMITED] = "commited", }; static int @@ -35,19 +35,18 @@ _pacman_packages_transaction_set_state(pmtrans_t *trans, int new_state) { const char *root, *triggersdir, *trigger_function; const pmlist_t *lp; - int retval = 0; triggersdir = trans->handle->triggersdir; root = trans->handle->root; trigger_function = trigger_function_table[new_state]; if(_pacman_strempty(trigger_function)) { + _pacman_log(PM_LOG_ERROR, _("Missing trigger_function for state: %d"), new_state); /* Nothing to do */ return 0; } _pacman_log(PM_LOG_FLOW2, _("executing %s triggers..."), trigger_function); - for(lp = trans->triggers; lp; lp = lp->next) { const char *trigger = lp->data; char buf[PATH_MAX]; @@ -65,10 +64,10 @@ _pacman_packages_transaction_set_state(pmtrans_t *trans, int new_state) } #endif snprintf(buf, sizeof(buf), "source %s/%s %s", triggersdir, trigger, trigger_function); - retval = _pacman_chroot_system(buf, trans); + _pacman_chroot_system(buf, trans); } - return(retval); + return 0; } int _pacman_packages_transaction_init(pmtrans_t *trans) diff --git a/lib/libpacman/trans.c b/lib/libpacman/trans.c index 490223a..22854f1 100644 --- a/lib/libpacman/trans.c +++ b/lib/libpacman/trans.c @@ -185,6 +185,7 @@ int _pacman_trans_set_state(pmtrans_t *trans, int new_state) return(-1); } } + _pacman_log(PM_LOG_DEBUG, _("Changing transaction state from %d to %d"), trans->state, new_state); trans->state = new_state; return(0); @@ -224,6 +225,8 @@ int _pacman_trans_prepare(pmtrans_t *trans, pmlist_t **data) return(0); } + _pacman_trans_compute_triggers(trans); + if(trans->ops->prepare(trans, data) == -1) { /* pm_errno is set by trans->ops->prepare() */ return(-1); _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
