]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/site/manifests/alternative.pp
massive style guide fixups
[dsa-puppet.git] / modules / site / manifests / alternative.pp
diff --git a/modules/site/manifests/alternative.pp b/modules/site/manifests/alternative.pp
new file mode 100644 (file)
index 0000000..94d0888
--- /dev/null
@@ -0,0 +1,17 @@
+define site::alternative ($linkto, $ensure = present) {
+       case $ensure {
+               present: {
+                       exec {
+                               "/usr/sbin/update-alternatives --set ${name} ${linkto}":
+                                       unless => "[ $(update-alternatives --query ${name} | grep ^Value | awk '{print \$2}') = ${linkto} ]",
+                       }
+               }
+               absent: {
+                       exec {
+                               "/usr/sbin/update-alternatives --remove ${name} ${linkto}":
+                                       unless => "[ $(update-alternatives --query ${name} | grep ^Value | awk '{print \$2}') != ${linkto} ]",
+                       }
+               }
+               default: { err ( "Unknown ensure value: '$ensure'" ) }
+       }
+}