summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG3
-rwxr-xr-xlib/puppet/provider/service/init.rb2
-rwxr-xr-xspec/integration/provider/service/init.rb32
3 files changed, 37 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 8140cfb6c..8286cc63d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+0.24.?
+ Fixed #1369 - the init service provider now supports HP-UX.
+
Removed support for the 'node_name' setting in LDAP and external node
lookups.
diff --git a/lib/puppet/provider/service/init.rb b/lib/puppet/provider/service/init.rb
index 3081d0eb8..e95fbd0f9 100755
--- a/lib/puppet/provider/service/init.rb
+++ b/lib/puppet/provider/service/init.rb
@@ -13,6 +13,8 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
case Facter["operatingsystem"].value
when "FreeBSD":
@defpath = ["/etc/rc.d", "/usr/local/etc/rc.d"]
+ when "HP-UX":
+ @defpath = "/sbin/init.d"
else
@defpath = "/etc/init.d"
end
diff --git a/spec/integration/provider/service/init.rb b/spec/integration/provider/service/init.rb
new file mode 100755
index 000000000..e185247cb
--- /dev/null
+++ b/spec/integration/provider/service/init.rb
@@ -0,0 +1,32 @@
+#!/usr/bin/env ruby
+
+# Find and load the spec file.
+Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
+
+provider = Puppet::Type.type(:service).provider(:init)
+
+describe provider do
+ describe "when running on FreeBSD" do
+ confine "Not running on FreeBSD" => (Facter.value(:operatingsystem) == "FreeBSD")
+
+ it "should set its default path to include /etc/init.d and /usr/local/etc/init.d" do
+ provider.defpath.should == ["/etc/rc.d", "/usr/local/etc/rc.d"]
+ end
+ end
+
+ describe "when running on HP-UX" do
+ confine "Not running on HP-UX" => (Facter.value(:operatingsystem) == "HP-UX")
+
+ it "should set its default path to include /sbin/init.d" do
+ provider.defpath.should == "/sbin/init.d"
+ end
+ end
+
+ describe "when not running on FreeBSD or HP-UX" do
+ confine "Running on HP-UX or FreeBSD" => (! %w{HP-UX FreeBSD}.include?(Facter.value(:operatingsystem)))
+
+ it "should set its default path to include /etc/init.d" do
+ provider.defpath.should == "/etc/init.d"
+ end
+ end
+end