diff --git a/ejabberd/manifests/init.pp b/ejabberd/manifests/init.pp index 4505dc9..69f95ce 100644 --- a/ejabberd/manifests/init.pp +++ b/ejabberd/manifests/init.pp @@ -5,6 +5,10 @@ # $collab: # Boolean for enabling collab integration. Defaults to false. # +# $erlang_solutions: +# Boolean for automatically enabling Erlang Solutions repository. +# Defaults to true. +# # $package: # Ejabberd package source. Required for collab integration. # @@ -78,6 +82,7 @@ # class ejabberd( $collab=false, + $erlang_solutions=true, $package=undef, $hosts=[$::homename], $admins=undef, @@ -113,30 +118,35 @@ class ejabberd( case $::operatingsystem { 'centos','redhat','fedora': { $package_provider = 'rpm' + + if $package and versioncmp($package, 'ejabberd-13.10') >= 0 { + $config = 'ejabberd.yml' + $erlang_solutions_real = $erlang_solutions + package { 'libyaml': + ensure => installed, + before => Package['ejabberd'], + } + } else { + $config = 'ejabberd.cfg' + $erlang_solutions_real = false + } } 'debian','ubuntu': { $package_provider = 'dpkg' + + if $package and versioncmp($package, 'ejabberd_13.10') >= 0 { + $config = 'ejabberd.yml' + $erlang_solutions_real = $erlang_solutions + } else { + $config = 'ejabberd.cfg' + $erlang_solutions_real = false + } } default: { fail("ejabberd not supported on ${::operatingsystem}.") } } - if $package and versioncmp($package, 'ejabberd-13.10') >= 0 { - if $::operatingsystem != 'CentOS' { - fail("ejabberd ${package} not supported on ${::operatingsystem}") - } - $config = 'ejabberd.yml' - $erlang_solutions = true - package { 'libyaml': - ensure => installed, - before => Package['ejabberd'], - } - } else { - $config = 'ejabberd.cfg' - $erlang_solutions = false - } - class { 'erlang': erlang_solutions => $erlang_solutions, before => Package['ejabberd'],