]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/apache/manifests/version.pp
add Openstack modules to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / apache / manifests / version.pp
diff --git a/3rdparty/modules/apache/manifests/version.pp b/3rdparty/modules/apache/manifests/version.pp
new file mode 100644 (file)
index 0000000..527dc6d
--- /dev/null
@@ -0,0 +1,45 @@
+# Class: apache::version
+#
+# Try to automatically detect the version by OS
+#
+class apache::version {
+  # This will be 5 or 6 on RedHat, 6 or wheezy on Debian, 12 or quantal on Ubuntu, etc.
+  $osr_array = split($::operatingsystemrelease,'[\/\.]')
+  $distrelease = $osr_array[0]
+  if ! $distrelease {
+    fail("Class['apache::version']: Unparsable \$::operatingsystemrelease: ${::operatingsystemrelease}")
+  }
+
+  case $::osfamily {
+    'RedHat': {
+      if ($::operatingsystem == 'Amazon') {
+        $default = '2.2'
+      } elsif ($::operatingsystem == 'Fedora' and versioncmp($distrelease, '18') >= 0) or ($::operatingsystem != 'Fedora' and versioncmp($distrelease, '7') >= 0) {
+        $default = '2.4'
+      } else {
+        $default = '2.2'
+      }
+    }
+    'Debian': {
+      if $::operatingsystem == 'Ubuntu' and versioncmp($::operatingsystemrelease, '13.10') >= 0 {
+        $default = '2.4'
+      } elsif $::operatingsystem == 'Debian' and versioncmp($distrelease, '8') >= 0 {
+        $default = '2.4'
+      } else {
+        $default = '2.2'
+      }
+    }
+    'FreeBSD': {
+      $default = '2.4'
+    }
+    'Gentoo': {
+      $default = '2.4'
+    }
+    'Suse': {
+      $default = '2.2'
+    }
+    default: {
+      fail("Class['apache::version']: Unsupported osfamily: ${::osfamily}")
+    }
+  }
+}