Hi James,
Thanks for your quick reply.
I just sent my Qs to RPM mailing list, hoping to hear from them.
I took a look at RPM source code, and it seems like
if this macro --->> _rollback_transaction_on_failure
is enabled, and if transaction type is set to RPMTRANS_TYPE_AUTOROLLBACK.
then, RPM's AUTO_ROLLBACK should do its job as advertised.
Here below is a code snippet from RPM source code::
/* See if we need to rollback on failure */
rollbackOnFailure = rpmExpandNumeric( "%{?_rollback_transaction_on_failure}"); if (rpmtsGetType(ts) & (RPMTRANS_TYPE_ROLLBACK | RPMTRANS_TYPE_AUTOROLLBACK)) { rollbackOnFailure = 0; } I will investigate, if it works as advertised.
I have also been looking at YUM source code, and I dont think YUM sets AUTO_ROLLBACK transaction TYPE, when it creates RPM transaction in python.
I have also looked at yum-complete-transaction utility, so have some idea, of how YUM dumps this transaction file, so that if RPM aborts in the middle of transaction, this file can be utilized to redo the transaction.
If you or some other YUM developer has tried setting AUTO_ROLLBACK transaction type or experimented to see if it works as advertised for rolling back, you can let me know.
Thanks,
Sudha
--- On Fri, 4/3/09, James Antill <james-yum@xxxxxxx> wrote: From: James Antill <james-yum@xxxxxxx> |
_______________________________________________ Yum mailing list Yum@xxxxxxxxxxxxxxxxx http://lists.baseurl.org/mailman/listinfo/yum