Try to retire the site module: move linux_module to base
[mirror/dsa-puppet.git] / modules / base / manifests / linux_module.pp
diff --git a/modules/base/manifests/linux_module.pp b/modules/base/manifests/linux_module.pp
new file mode 100644 (file)
index 0000000..acd287f
--- /dev/null
@@ -0,0 +1,19 @@
+define base::linux_module ($ensure = present) {
+       if $::kernel == linux {
+               case $ensure {
+                       present: {
+                               exec { "append_module_${name}":
+                                       command => "echo '${name}' >> /etc/modules",
+                                       unless => "grep -q -F -x '${name}' /etc/modules",
+                               }
+                       }
+                       absent: {
+                               exec { "remove_module_${name}":
+                                       command => "sed -i -e'/^${name}\$/d' /etc/modules",
+                                       onlyif => "grep -q -F -x '${name}' /etc/modules",
+                               }
+                       }
+                       default: { fail ("invalid ensure value ${ensure}") }
+               }
+       }
+}