The runit provider was broken when the daemontools provider
was enhanced.This patch aims to fix this.

Signed-off-by: Brice Figureau <[email protected]>
---
 lib/puppet/provider/service/runit.rb |   10 ++++++++++
 spec/unit/provider/service/runit.rb  |   14 +++++++++++++-
 2 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/lib/puppet/provider/service/runit.rb 
b/lib/puppet/provider/service/runit.rb
index 45713b2..b2c8900 100644
--- a/lib/puppet/provider/service/runit.rb
+++ b/lib/puppet/provider/service/runit.rb
@@ -91,6 +91,16 @@ Puppet::Type.type(:service).provide :runit, :parent => 
:daemontools do
         [ command(:sv), "stop", self.service]
     end
 
+    # relay to the startcmd
+    def start
+        enable unless enabled?
+        ucommand( :start )
+    end
+
+    def startcmd
+        [ command(:sv), "start", self.service]
+    end
+
     # disable by removing the symlink so that runit
     # doesn't restart our service behind our back
     # note that runit doesn't need to perform a stop
diff --git a/spec/unit/provider/service/runit.rb 
b/spec/unit/provider/service/runit.rb
index b0c5dd8..4a7a238 100644
--- a/spec/unit/provider/service/runit.rb
+++ b/spec/unit/provider/service/runit.rb
@@ -30,6 +30,8 @@ describe provider_class do
         @resource.stubs(:[]).with(:path).returns @daemondir
         @resource.stubs(:ref).returns "Service[myservice]"
 
+        @provider.stubs(:sv)
+
         @provider.stubs(:resource).returns @resource
     end
 
@@ -58,8 +60,18 @@ describe provider_class do
     end
 
     describe "when starting" do
-        it "should call enable" do
+        it "should enable the service if it is not enabled" do
+            @provider.stubs(:sv)
+            @provider.stubs(:ucommand)
+
+            @provider.expects(:enabled?).returns false
             @provider.expects(:enable)
+
+            @provider.start
+        end
+
+        it "should execute external command 'sv start /etc/service/myservice'" 
do
+            @provider.expects(:ucommand).with(:start).returns("")
             @provider.start
         end
     end
-- 
1.6.0.2


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to