diff options
| author | Gary Larizza <ccshots@gmail.com> | 2011-02-27 11:30:11 +0000 |
|---|---|---|
| committer | Jacob Helwig <jacob@puppetlabs.com> | 2011-04-22 14:18:52 -0700 |
| commit | 0008b630f8bd6c5dbeb96fd0f097dd15c22ffaf4 (patch) | |
| tree | 249dc13a434629c4b3d4f2e6034aa1f40c6f506b /lib/puppet | |
| parent | 0b9c7adce13cad4325d514f9d97562364042319c (diff) | |
| download | puppet-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.rb | 19 |
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 |
