summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNigel Kersten <nigelk@google.com>2009-07-30 09:59:32 -0700
committerJames Turnbull <james@lovedthanlost.net>2009-07-31 16:46:07 +1000
commitb6b903eedd383e66593315fdc8163614ad22db79 (patch)
treee37127ee0561bfaf9a80883b5e599a31780c8a80
parent26b0c70dcd5f6ef8685280dd039dcac96b1307df (diff)
downloadpuppet-b6b903eedd383e66593315fdc8163614ad22db79.tar.gz
puppet-b6b903eedd383e66593315fdc8163614ad22db79.tar.xz
puppet-b6b903eedd383e66593315fdc8163614ad22db79.zip
Fixes #2461. Provide new and old code paths for macosx_productversion_major with deprecation warning
-rw-r--r--lib/puppet/provider/nameservice/directoryservice.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/puppet/provider/nameservice/directoryservice.rb b/lib/puppet/provider/nameservice/directoryservice.rb
index f4c9d59e0..fbdaafb6a 100644
--- a/lib/puppet/provider/nameservice/directoryservice.rb
+++ b/lib/puppet/provider/nameservice/directoryservice.rb
@@ -108,7 +108,17 @@ class DirectoryService < Puppet::Provider::NameService
return @macosx_version_major
end
begin
- product_version_major = Facter.value(:macosx_productversion_major)
+ if Facter.value(:macosx_productversion_major)
+ product_version_major = Facter.value(:macosx_productversion_major)
+ else
+ # TODO: remove this code chunk once we require Facter 1.5.5 or higher.
+ Puppet.warning("DEPRECATION WARNING: Future versions of the directoryservice provider will require Facter 1.5.5 or newer.")
+ product_version = Facter.value(:macosx_productversion)
+ if product_version.nil?
+ fail("Could not determine OS X version from Facter")
+ end
+ product_version_major = product_version.scan(/(\d+)\.(\d+)./).join(".")
+ end
if %w{10.0 10.1 10.2 10.3}.include?(product_version_major)
fail("%s is not supported by the directoryservice provider" % product_version_major)
end
@@ -119,6 +129,7 @@ class DirectoryService < Puppet::Provider::NameService
end
end
+
def self.list_all_present
# JJM: List all objects of this Puppet::Type already present on the system.
begin