[pacman-dev] [PATCH] trans_commit: log beginning and end of transaction

Andrew Gregory andrew.gregory.8 at gmail.com
Sun Apr 6 11:04:18 EDT 2014


This makes it clear whether a transaction successfully completed and
allows log parsers to group related actions.

Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
---
 lib/libalpm/trans.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
index e5328c5..fcf2fb7 100644
--- a/lib/libalpm/trans.c
+++ b/lib/libalpm/trans.c
@@ -177,18 +177,28 @@ 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");
+
 	if(trans->add == NULL) {
 		if(_alpm_remove_packages(handle, 1) == -1) {
 			/* pm_errno is set by _alpm_remove_packages() */
+			alpm_logaction(handle, ALPM_CALLER_PREFIX, "transaction failed\n");
 			return -1;
 		}
 	} else {
 		if(_alpm_sync_commit(handle, data) == -1) {
 			/* pm_errno is set by _alpm_sync_commit() */
+			alpm_logaction(handle, ALPM_CALLER_PREFIX, "transaction failed\n");
 			return -1;
 		}
 	}
 
+	if(trans->state == STATE_INTERRUPTED) {
+		alpm_logaction(handle, ALPM_CALLER_PREFIX, "transaction interrupted\n");
+	} else {
+		alpm_logaction(handle, ALPM_CALLER_PREFIX, "transaction completed\n");
+	}
+
 	trans->state = STATE_COMMITED;
 
 	return 0;
-- 
1.9.1



More information about the pacman-dev mailing list