Method: Unix::Pkg#upgrade_package
- Defined in:
- lib/beaker/host/unix/pkg.rb
#upgrade_package(name, cmdline_args = '', opts = {}) ⇒ Object
Upgrade an installed package to the latest available version
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/beaker/host/unix/pkg.rb', line 173 def upgrade_package(name, cmdline_args = '', opts = {}) case self['platform'] when /sles-/ execute("zypper --non-interactive --no-gpg-checks up #{name}", opts) when /el-4/ @logger.debug("Package upgrade is not supported on rhel4") when /fedora-(2[2-9])/ execute("dnf -y #{cmdline_args} update #{name}", opts) when /cisco|fedora|centos|eos|el-/ execute("yum -y #{cmdline_args} update #{name}", opts) when /ubuntu|debian|cumulus|huaweios/ update_apt_if_needed execute("apt-get install -o Dpkg::Options::='--force-confold' #{cmdline_args} -y --force-yes #{name}", opts) when /solaris-11/ if opts[:acceptable_exit_codes] opts[:acceptable_exit_codes] << 4 else opts[:acceptable_exit_codes] = [0, 4] unless opts[:accept_all_exit_codes] end execute("pkg #{cmdline_args} update #{name}", opts) when /solaris-10/ execute("pkgutil -u -y #{cmdline_args} #{name}", opts) else raise "Package #{name} cannot be upgraded on #{self}" end end |