ejabberd: Add support for opencollab-ejabberd on Ubuntu

This commit is contained in:
Ossi Salmi 2016-09-09 00:10:50 +03:00
parent 17d0f6ccbf
commit 7d2005eaad

View file

@ -5,6 +5,10 @@
# $collab: # $collab:
# Boolean for enabling collab integration. Defaults to false. # Boolean for enabling collab integration. Defaults to false.
# #
# $erlang_solutions:
# Boolean for automatically enabling Erlang Solutions repository.
# Defaults to true.
#
# $package: # $package:
# Ejabberd package source. Required for collab integration. # Ejabberd package source. Required for collab integration.
# #
@ -78,6 +82,7 @@
# #
class ejabberd( class ejabberd(
$collab=false, $collab=false,
$erlang_solutions=true,
$package=undef, $package=undef,
$hosts=[$::homename], $hosts=[$::homename],
$admins=undef, $admins=undef,
@ -113,30 +118,35 @@ class ejabberd(
case $::operatingsystem { case $::operatingsystem {
'centos','redhat','fedora': { 'centos','redhat','fedora': {
$package_provider = 'rpm' $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': { 'debian','ubuntu': {
$package_provider = 'dpkg' $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: { default: {
fail("ejabberd not supported on ${::operatingsystem}.") 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': class { 'erlang':
erlang_solutions => $erlang_solutions, erlang_solutions => $erlang_solutions,
before => Package['ejabberd'], before => Package['ejabberd'],