ejabberd: Add support for opencollab-ejabberd on Ubuntu
This commit is contained in:
parent
17d0f6ccbf
commit
7d2005eaad
1 changed files with 25 additions and 15 deletions
|
@ -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'],
|
||||||
|
|
Loading…
Add table
Reference in a new issue