summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/provider/service/daemontools.rb54
1 files changed, 36 insertions, 18 deletions
diff --git a/lib/puppet/provider/service/daemontools.rb b/lib/puppet/provider/service/daemontools.rb
index 63666e149..f6eb5099f 100644
--- a/lib/puppet/provider/service/daemontools.rb
+++ b/lib/puppet/provider/service/daemontools.rb
@@ -129,14 +129,6 @@ Puppet::Type.type(:service).provide :daemontools, :parent => :base do
[command(:svc), "-u", self.service ]
end
- def stopcmd
- [command(:svc), "-d", self.service ]
- end
-
- def restartcmd
- [ command(:svc), "-t", self.service]
- end
-
def setupservice
begin
if resource[:manifest]
@@ -161,23 +153,49 @@ Puppet::Type.type(:service).provide :daemontools, :parent => :base do
def enable
begin
- if ! FileTest.directory?(self.daemon)
- Puppet.notice "No daemon dir, calling setupservice for %s" % resource[:name]
- self.setupservice
- end
- if self.daemon
- if ! FileTest.symlink?(self.service)
- Puppet.notice "Enabling %s: linking %s -> %s" % [ self.service, self.daemon, self.service ]
- File.symlink(self.daemon, self.service)
+ if ! FileTest.directory?(self.daemon)
+ Puppet.notice "No daemon dir, calling setupservice for %s" % resource[:name]
+ self.setupservice
+ end
+ if self.daemon
+ if ! FileTest.symlink?(self.service)
+ Puppet.notice "Enabling %s: linking %s -> %s" % [ self.service, self.daemon, self.service ]
+ File.symlink(self.daemon, self.service)
+ end
end
- end
rescue Puppet::ExecutionFailure => detail
raise Puppet::Error.new( "No daemon directory found for %s" % self.service )
end
end
def disable
+ begin
+ if ! FileTest.directory?(self.daemon)
+ Puppet.notice "No daemon dir, calling setupservice for %s" % resource[:name]
+ self.setupservice
+ end
+ if self.daemon
+ if FileTest.symlink?(self.service)
+ Puppet.notice "Disabling %s: removing link %s -> %s" % [ self.service, self.daemon, self.service ]
+ File.unlink(self.service)
+ end
+ end
+ rescue Puppet::ExecutionFailure => detail
+ raise Puppet::Error.new( "No daemon directory found for %s" % self.service )
+ end
self.stop
end
-end
+ def restart
+ svc "-t", self.service
+ end
+
+ def start
+ enable unless enabled?
+ svc "-u", self.service
+ end
+
+ def stop
+ svc "-d", self.service
+ end
+end