summaryrefslogtreecommitdiff
path: root/yum-etckeeper.py
diff options
context:
space:
mode:
Diffstat (limited to 'yum-etckeeper.py')
-rw-r--r--yum-etckeeper.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/yum-etckeeper.py b/yum-etckeeper.py
new file mode 100644
index 0000000..f3ec762
--- /dev/null
+++ b/yum-etckeeper.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+#
+# author: jtang@tchpc.tcd.ie
+#
+# this plugin is based on the hello world example
+# from http://yum.baseurl.org/wiki/WritingYumPlugins
+#
+# to install, copy this file to /usr/lib/yum-plugins/etckeeper.py
+# and then create /etc/yum/pluginconf.d/etckeeper.conf with the contents
+# below.
+#
+# /etc/yum/pluginconf.d/etckeeper.conf:
+# [main]
+# enabled=1
+#
+
+import os
+from glob import fnmatch
+
+import yum
+from yum.plugins import TYPE_CORE
+
+requires_api_version = '2.1'
+plugin_type = (TYPE_CORE,)
+
+def pretrans_hook(conduit):
+ conduit.info(2, 'etckeeper: pre transaction commit')
+ servicecmd = conduit.confString('main', 'servicecmd', '/usr/sbin/etckeeper')
+ command = '%s %s' % (servicecmd, " pre-install")
+ os.system(command)
+
+def posttrans_hook(conduit):
+ conduit.info(2, 'etckeeper: post transcation commit')
+ servicecmd = conduit.confString('main', 'servicecmd', '/usr/sbin/etckeeper')
+ command = '%s %s' % (servicecmd, "post-install")
+ os.system(command)