On 12/14/15 at 01:45pm, Allan McRae wrote:
> This provides a way to detect when the processing of package changes starts,
> allowing pacman to deliminate hook output and package installation/removal

s/deliminate/delineate/?

> output.
> 
> Signed-off-by: Allan McRae <[email protected]>
> ---
>  lib/libalpm/alpm.h    | 4 ++++
>  lib/libalpm/trans.c   | 5 +++++
>  src/pacman/callback.c | 4 ++++
>  3 files changed, 13 insertions(+)
...
> diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
> index 06997a0..0ead10d 100644
> --- a/lib/libalpm/trans.c
> +++ b/lib/libalpm/trans.c
> @@ -160,6 +160,7 @@ int SYMEXPORT alpm_trans_prepare(alpm_handle_t *handle, 
> alpm_list_t **data)
>  int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, alpm_list_t **data)
>  {
>       alpm_trans_t *trans;
> +     alpm_event_any_t event;
>  
>       /* Sanity checks */
>       CHECK_HANDLE(handle, return -1);
> @@ -197,6 +198,8 @@ int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, 
> alpm_list_t **data)
>       trans->state = STATE_COMMITING;
>  
>       alpm_logaction(handle, ALPM_CALLER_PREFIX, "transaction started\n");
> +     event.type = ALPM_EVENT_TRANSACTION_START;
> +     EVENT(handle, &event);
>  
>       if(trans->add == NULL) {
>               if(_alpm_remove_packages(handle, 1) == -1) {
> @@ -222,6 +225,8 @@ int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, 
> alpm_list_t **data)
>               alpm_logaction(handle, ALPM_CALLER_PREFIX, "transaction 
> completed\n");
>               _alpm_hook_run(handle, ALPM_HOOK_POST_TRANSACTION);
>       }
> +     event.type = ALPM_EVENT_TRANSACTION_DONE;
> +     EVENT(handle, &event);

You have the pre-transaction hooks outside the transaction events but
the post hooks inside them.

Reply via email to