summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorGary Larizza <ccshots@gmail.com>2011-02-27 11:30:11 +0000
committerJacob Helwig <jacob@puppetlabs.com>2011-04-22 14:18:52 -0700
commit0008b630f8bd6c5dbeb96fd0f097dd15c22ffaf4 (patch)
tree249dc13a434629c4b3d4f2e6034aa1f40c6f506b /lib/puppet
parent0b9c7adce13cad4325d514f9d97562364042319c (diff)
downloadpuppet-0008b630f8bd6c5dbeb96fd0f097dd15c22ffaf4.tar.gz
puppet-0008b630f8bd6c5dbeb96fd0f097dd15c22ffaf4.tar.xz
puppet-0008b630f8bd6c5dbeb96fd0f097dd15c22ffaf4.zip
(#6487) Directoryservice provider will fail in future OS releases
This commit removes a case statement in the get_exec_pramble and single_report methods. In its place is an if statement that will cause Puppet to fail if its being run on an OS X system with a version < 10.4. This if-statement will also allow Puppet to run in 10.7. Signed-off-by: Gary Larizza <ccshots@gmail.com>
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/provider/nameservice/directoryservice.rb19
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/puppet/provider/nameservice/directoryservice.rb b/lib/puppet/provider/nameservice/directoryservice.rb
index b01880360..aab491122 100644
--- a/lib/puppet/provider/nameservice/directoryservice.rb
+++ b/lib/puppet/provider/nameservice/directoryservice.rb
@@ -235,11 +235,12 @@ class DirectoryService < Puppet::Provider::NameService
# have a lot of choice. Ultimately this should all be done using Ruby
# to access the DirectoryService APIs directly, but that's simply not
# feasible for a while yet.
- case self.get_macosx_version_major
- when "10.4"
- dscl_plist = self.parse_dscl_url_data(dscl_output)
- when "10.5", "10.6"
+ if self.get_macosx_version_major > "10.4"
dscl_plist = self.parse_dscl_plist_data(dscl_output)
+ elsif self.get_macosx_version_major == "10.4"
+ dscl_plist = self.parse_dscl_url_data(dscl_output)
+ else
+ fail("Puppet does not support OS X versions < 10.4")
end
self.generate_attribute_hash(dscl_plist, *type_properties)
@@ -257,12 +258,14 @@ class DirectoryService < Puppet::Provider::NameService
# different format for the -url output with objects with spaces in
# their values. *sigh*. Use -url for 10.4 in the hope this can be
# deprecated one day, and use -plist for 10.5 and higher.
- case self.get_macosx_version_major
- when "10.4"
- command_vector = [ command(:dscl), "-url", "." ]
- when "10.5", "10.6"
+ if self.get_macosx_version_major > "10.4"
command_vector = [ command(:dscl), "-plist", "." ]
+ elsif self.get_macosx_version_major == "10.4"
+ command_vector = [ command(:dscl), "-url", "." ]
+ else
+ fail("Puppet does not support OS X versions < 10.4")
end
+
# JJM: The actual action to perform. See "man dscl"
# Common actiosn: -create, -delete, -merge, -append, -passwd
command_vector << ds_action