Try to retire the site module: move site::alternative to base
[mirror/dsa-puppet.git] / modules / base / manifests / alternative.pp
diff --git a/modules/base/manifests/alternative.pp b/modules/base/manifests/alternative.pp
new file mode 100644 (file)
index 0000000..da86db3
--- /dev/null
@@ -0,0 +1,15 @@
+define base::alternative ($linkto, $ensure = present) {
+       case $ensure {
+               present: {
+                       exec { "/usr/bin/update-alternatives --set ${name} ${linkto}":
+                               unless => "[ $(update-alternatives --query ${name} | grep ^Value | awk '{print \$2}') = ${linkto} ]",
+                       }
+               }
+               absent: {
+                       exec { "/usr/bin/update-alternatives --remove ${name} ${linkto}":
+                               unless => "[ $(update-alternatives --query ${name} | grep ^Value | awk '{print \$2}') != ${linkto} ]",
+                       }
+               }
+               default: { fail ( "Unknown ensure value: '$ensure'" ) }
+       }
+}