From 53e4646b79b5b2e3ea7f878ff410121d0e94fd16 Mon Sep 17 00:00:00 2001 From: "tilman@28c2b6e294d87af861f2c1043a77a39bf712ef2c" Date: Sun, 13 Mar 2016 19:10:31 +0000 Subject: --- .../Yet_another_patch_for_the_Pacman_5_hooks.mdwn | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 doc/todo/Yet_another_patch_for_the_Pacman_5_hooks.mdwn diff --git a/doc/todo/Yet_another_patch_for_the_Pacman_5_hooks.mdwn b/doc/todo/Yet_another_patch_for_the_Pacman_5_hooks.mdwn new file mode 100644 index 0000000..b85e13a --- /dev/null +++ b/doc/todo/Yet_another_patch_for_the_Pacman_5_hooks.mdwn @@ -0,0 +1,20 @@ +It turns out that my last patch ([[Patch:_Make_Pacman_5_call_etckeeper_hooks_as_late_as_possible]]) +was not perfect after all. + +Calling both the pre-transaction and the post-transaction hook as late as possible seemed to make +sense at the time, but now that I think about it, I would say that only the post-transaction hook should be +called after all other hooks; the **pre-transaction** hook should be called as **early** as possible. + +That way, the pre-transaction hook can make sure that... + +- ...everything in `/etc` gets committed before any other hook gets the chance to introduce more changes + (therefore making any changes made by other hooks part of the post-transaction commit) *and*... +- ...it can abort the transaction and thus all hooks that come after the pre-transaction hook if `/etc` + is not clean and the user wants to prevent the package manager from running in that case. This prevents + any later hooks from making changes that should not be made in the first place (since the entire transaction + is being aborted due to a dirty `/etc`). + +My patch which makes Pacman call the pre-transaction hook as early as possible can be found here: + + +Hopefully, this will be the last patch related to the Pacman hooks for some time... Sorry for the noise. -- cgit v1.2.3