From ed87bf49413dbb49b418e0baf5327c76a53442a5 Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Thu, 26 Jan 2012 11:23:28 +0200 Subject: [PATCH] Added ejabberd collab customizations --- ejabberd/manifests/init.pp | 55 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/ejabberd/manifests/init.pp b/ejabberd/manifests/init.pp index ba768d4..f82d7b0 100644 --- a/ejabberd/manifests/init.pp +++ b/ejabberd/manifests/init.pp @@ -145,6 +145,61 @@ class ejabberd { } +# Install ejabberd with collab customizations. +# +# === Global variables +# +# $ejabberd_package: +# Name of ejabberd package with collab patches. +# +class ejabberd::collab inherits ejabberd { + + if !$ejabberd_package { + fail("Must define \$ejabberd_package") + } + + exec { "usermod-ejabberd": + path => "/bin:/usr/bin:/sbin:/usr/sbin", + command => "usermod -a -G collab ejabberd", + unless => "id -n -G ejabberd | grep '\\bcollab\\b'", + require => [ User["ejabberd"], Group["collab"] ], + } + + case $operatingsystem { + "centos", "fedora": { + package { ["erlang", "erlang-esasl"]: + ensure => installed, + before => Package["ejabberd"], + } + } + "debian", "ubuntu": { + package { ["erlang", "erlang-base"]: + ensure => installed, + before => Package["ejabberd"], + } + } + } + file { "/usr/local/src/${ejabberd_package}": + ensure => present, + mode => 0644, + owner => "root", + group => "root", + source => "puppet:///files/packages/${ejabberd_package}", + before => Package["ejabberd"], + } + Package["ejabberd"] { + provider => $operatingsystem ? { + "centos" => "rpm", + "fedora" => "rpm", + "debian" => "dpkg", + "ubuntu" => "dpkg", + }, + source => "/usr/local/src/${ejabberd_package}", + } + +} + + # Install ejabberd backup cron script. # # === Global variables