diff options
Diffstat (limited to 'modules/ii/manifests/init.pp')
-rw-r--r-- | modules/ii/manifests/init.pp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/modules/ii/manifests/init.pp b/modules/ii/manifests/init.pp index e0e9b5c7..c024bc49 100644 --- a/modules/ii/manifests/init.pp +++ b/modules/ii/manifests/init.pp @@ -14,15 +14,21 @@ class ii { $nick = $name include ii::base + # a custom wrappper is needed since ii do not fork in the + # background, and bash is not able to properly do it + local_script { "ii_$nick": + content => "ii/ii_wrapper.pl", + require => Class['ii::base'], + } service { 'ii': provider => base, - start => "su nobody -c 'nohup ii -n $nick -i /var/lib/ii/$nick -s $server'", - notify => Exec["join channel"], - require => Class['ii::base'], + start => "/usr/local/bin/ii_$nick", + notify => Exec["join channel $nick"], + require => Local_script["ii_$nick"], } - exec { "join channel": + exec { "join channel $nick": command => "echo '/j $channel' > /var/lib/ii/$nick/$server/in", user => nobody, refreshonly => true, |