summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
Diffstat (limited to 'doc/todo')
-rw-r--r--doc/todo/Yet_another_patch_for_the_Pacman_5_hooks.mdwn20
1 files changed, 20 insertions, 0 deletions
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:
+<https://github.com/Tblue/etckeeper/commit/6ff4f922cd34689e0d61359ebd822af5f82c40a6.patch>
+
+Hopefully, this will be the last patch related to the Pacman hooks for some time... Sorry for the noise.