    # File lib/chef/provider/package/yum.rb, line 1022
            def install_package(name, version)
              if @new_resource.source
                yum_command("yum -d0 -e0 -y#{expand_options(@new_resource.options)} localinstall #{@new_resource.source}")
              else
                # Work around yum not exiting with an error if a package doesn't exist for CHEF-2062
                if @yum.version_available?(name, version, arch)
                  method = "install"

                  # More Yum fun:
                  #
                  # yum install of an old name+version will exit(1)
                  # yum install of an old name+version+arch will exit(0) for some reason
                  #
                  # Some packages can be installed multiple times like the kernel
                  unless @yum.allow_multi_install.include?(name)
                    if RPMVersion.parse(@current_resource.version) > RPMVersion.parse(version)
                      # Unless they want this...
                      if allow_downgrade
                        method = "downgrade"
                      else
                        # we bail like yum when the package is older
                        raise Chef::Exceptions::Package, "Installed package #{name}-#{@current_resource.version} is newer " +
                                                         "than candidate package #{name}-#{version}"
                      end
                    end
                  end

                  yum_command("yum -d0 -e0 -y#{expand_options(@new_resource.options)} #{method} #{name}-#{version}#{yum_arch}")
                else
                  raise Chef::Exceptions::Package, "Version #{version} of #{name} not found. Did you specify both version " +
                                                   "and release? (version-release, e.g. 1.84-10.fc6)"
                end
              end
              if flush_cache[:after]
                @yum.reload
              else
                @yum.reload_installed
              end
            end