Class: Knife::Pkg::YumPackageController

Inherits:
PackageController show all
Defined in:
lib/knife-pkg/controllers/yum.rb

Constant Summary

Constants inherited from PackageController

PackageController::ONE_DAY_IN_SECS

Instance Attribute Summary

Attributes inherited from PackageController

#node, #options, #session, #ui

Instance Method Summary collapse

Methods inherited from PackageController

available_updates, #exec, init_controller, list_available_updates, #max_pkg_cache_age, platform_family_by_local_ohai, #sudo, #try_update_pkg_cache, ui, update!, #update_dialog, #update_info, #update_package_verbose!

Constructor Details

#initialize(node, session, opts = {}) ⇒ YumPackageController

Returns a new instance of YumPackageController.



23
24
25
# File 'lib/knife-pkg/controllers/yum.rb', line 23

def initialize(node, session, opts = {})
  super(node, session, opts)
end

Instance Method Details

#available_updatesObject



47
48
49
50
51
52
53
54
55
56
57
# File 'lib/knife-pkg/controllers/yum.rb', line 47

def available_updates
  packages = Array.new
  result = exec("#{sudo}yum check-update -q| awk '{ print $1, $2 }'")
  result.stdout.split("\n").each do |item|
    next unless item.match(/^\s+$/).nil?
    name, version = item.split(" ")
    package = Package.new(name, version)
    packages << package
  end
  packages
end

#dry_run_supported?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/knife-pkg/controllers/yum.rb', line 27

def dry_run_supported?
  false
end

#installed_version(package) ⇒ Object



39
40
41
# File 'lib/knife-pkg/controllers/yum.rb', line 39

def installed_version(package)
  exec("#{sudo}yum list installed | egrep \"^#{package.name}\" | awk '{print $2}'").stdout.chomp
end

#last_pkg_cache_updateObject



35
36
37
# File 'lib/knife-pkg/controllers/yum.rb', line 35

def last_pkg_cache_update
  return Time.now 
end

#update_package!(package) ⇒ Object



59
60
61
62
# File 'lib/knife-pkg/controllers/yum.rb', line 59

def update_package!(package)
  cmd_string = "#{sudo}yum -d0 -e0 -y install #{package.name}"
  exec(cmd_string)
end

#update_pkg_cacheObject



31
32
33
# File 'lib/knife-pkg/controllers/yum.rb', line 31

def update_pkg_cache
  # not necessary
end

#update_version(package) ⇒ Object



43
44
45
# File 'lib/knife-pkg/controllers/yum.rb', line 43

def update_version(package)
  exec("#{sudo}yum check-update -q | egrep \"^#{package.name}\" | awk '{print $2}'").stdout.chomp
end