lib/omnibus/packager.rb in omnibus-5.3.0 vs lib/omnibus/packager.rb in omnibus-5.4.0

- old
+ new

@@ -15,18 +15,20 @@ # module Omnibus module Packager include Logging + include Sugarable autoload :Base, 'omnibus/packagers/base' autoload :BFF, 'omnibus/packagers/bff' autoload :DEB, 'omnibus/packagers/deb' autoload :Makeself, 'omnibus/packagers/makeself' autoload :MSI, 'omnibus/packagers/msi' autoload :PKG, 'omnibus/packagers/pkg' autoload :Solaris, 'omnibus/packagers/solaris' + autoload :IPS, 'omnibus/packagers/ips' autoload :RPM, 'omnibus/packagers/rpm' # # The list of Ohai platform families mapped to the respective packager # class. @@ -38,11 +40,12 @@ 'fedora' => RPM, 'suse' => RPM, 'rhel' => RPM, 'wrlinux' => RPM, 'aix' => BFF, - 'solaris2' => Solaris, + 'solaris' => Solaris, + 'ips' => IPS, 'windows' => MSI, 'mac_os_x' => PKG, }.freeze # @@ -54,18 +57,23 @@ # # @return [~Packager::Base] # def for_current_system family = Ohai['platform_family'] + version = Ohai['platform_version'] + if family == 'solaris2' && Chef::Sugar::Constraints::Version.new(version).satisfies?('>= 5.11') + family = "ips" + elsif family == 'solaris2' && Chef::Sugar::Constraints::Version.new(version).satisfies?('>= 5.10') + family = "solaris" + end if klass = PLATFORM_PACKAGER_MAP[family] klass else log.warn(log_key) do "Could not determine packager for `#{family}', defaulting " \ "to `makeself'!" end - Makeself end end module_function :for_current_system end