lib/omnibus/packager.rb
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]
        package_types = klass.is_a?(Array) ? klass : [ klass ]

        if package_types.include?(APPX) &&
            !Chef::Sugar::Constraints::Version.new(version).satisfies?(">= 6.2")
          log.warn(log_key) { "APPX generation is only supported on Windows versions 2012 and above" }
          package_types -= [APPX]
        end

        package_types
      else
        log.warn(log_key) do
          "Could not determine packager for `#{family}', defaulting " \
          "to `makeself'!"
        end
        [Makeself]
      end
    end
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]
        package_types = klass.is_a?(Array) ? klass : [ klass ]

        if package_types.include?(APPX) &&
            !Chef::Sugar::Constraints::Version.new(version).satisfies?(">= 6.2")
          log.warn(log_key) { "APPX generation is only supported on Windows versions 2012 and above" }
          package_types -= [APPX]
        end

        package_types
      else
        log.warn(log_key) do
          "Could not determine packager for `#{family}', defaulting " \
          "to `makeself'!"
        end
        [Makeself]
      end
    end
Determine the packager(s) for the current system. This method returns the
 class, not an instance of the class.

 @example
   Packager.for_current_system #=> [Packager::RPM]

 @return [[~Packager::Base]]