98: def self.get_macosx_version_major
99: return @macosx_version_major if defined?(@macosx_version_major)
100: begin
101:
102: Facter.loadfacts
103:
104: if Facter.value(:macosx_productversion_major)
105: product_version_major = Facter.value(:macosx_productversion_major)
106: else
107:
108: Puppet.warning("DEPRECATION WARNING: Future versions of the launchd provider will require Facter 1.5.5 or newer.")
109: product_version = Facter.value(:macosx_productversion)
110: fail("Could not determine OS X version from Facter") if product_version.nil?
111: product_version_major = product_version.scan(/(\d+)\.(\d+)./).join(".")
112: end
113: fail("#{product_version_major} is not supported by the launchd provider") if %w{10.0 10.1 10.2 10.3}.include?(product_version_major)
114: @macosx_version_major = product_version_major
115: return @macosx_version_major
116: rescue Puppet::ExecutionFailure => detail
117: fail("Could not determine OS X version: #{detail}")
118: end
119: end