Sha256: 4a89154fcede019e0e2fa06aac08dfbbe66e6cea0a708066a4359473a91d5a00

Contents?: true

Size: 655 Bytes

Versions: 10

Compression:

Stored size: 655 Bytes

Contents

require 'puppet/module_tool'
require 'puppet/util'

module Puppet::ModuleTool::Tar
  require 'puppet/module_tool/tar/gnu'
  require 'puppet/module_tool/tar/solaris'
  require 'puppet/module_tool/tar/mini'

  def self.instance(module_name)
    gtar_platforms = ['Solaris', 'OpenBSD']
    if gtar_platforms.include?(Facter.value('osfamily')) && Puppet::Util.which('gtar')
      Solaris.new
    elsif Puppet::Util.which('tar') && ! Puppet::Util::Platform.windows?
      Gnu.new
    elsif Puppet.features.minitar? && Puppet.features.zlib?
      Mini.new(module_name)
    else
      raise RuntimeError, 'No suitable tar implementation found'
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
puppet-3.5.1 lib/puppet/module_tool/tar.rb
puppet-3.5.1-x86-mingw32 lib/puppet/module_tool/tar.rb
puppet-3.5.1.rc1 lib/puppet/module_tool/tar.rb
puppet-3.5.1.rc1-x86-mingw32 lib/puppet/module_tool/tar.rb
puppet-3.5.0.rc3 lib/puppet/module_tool/tar.rb
puppet-3.5.0.rc3-x86-mingw32 lib/puppet/module_tool/tar.rb
puppet-3.5.0.rc2 lib/puppet/module_tool/tar.rb
puppet-3.5.0.rc2-x86-mingw32 lib/puppet/module_tool/tar.rb
puppet-3.5.0.rc1 lib/puppet/module_tool/tar.rb
puppet-3.5.0.rc1-x86-mingw32 lib/puppet/module_tool/tar.rb