# Assumes package built with daemontools-installer meta-package # on Ubuntu. The FHS method was chosen at compile time. $svscan_dir = "/var/lib/svscan" $service_dir = "/var/lib/service" class daemontools { file { daemontools-moduledrop: path => "$moduledrop/daemontools", ensure => directory, mode => 755, owner => root, group => root, require => File[$moduledrop]; daemontools-deb: path => "$moduledrop/daemontools/daemontools.deb", source => "puppet:///daemontools/daemontools_0.76-9_i386.deb", mode => 644, owner => root, group => root, require => File[daemontools-moduledrop]; daemontools-fakeinittab: path => "/etc/inittab", content => "SV:123456:respawn:/usr/bin/svscanboot\n"; daemontools-svscan-upstart: path => "/etc/event.d/svscan", source => "puppet:///daemontools/svscan.upstart", mode => 644, owner => root, group => root, require => Package[daemontools]; daemontools-service-dir: path => $service_dir, ensure => directory, mode => 755, owner => root, group => root, require => Package[daemontools]; } package { daemontools: provider => dpkg, source => "$moduledrop/daemontools/daemontools.deb", require => [File[daemontools-deb], File[daemontools-fakeinittab]] } service { svscan: provider => base, start => ["/sbin/start svscan"], pattern => "svscan", hasrestart => false, ensure => running, require => File[daemontools-svscan-upstart], } }