    # File lib/chef/provider/package/yum.rb, line 35
                def version_parse(evr)
                  return if evr.nil?

                  epoch = nil
                  # assume this is a version
                  version = evr
                  release = nil

                  lead = 0
                  tail = evr.size

                  if evr =~ %r{^([\d]+):}
                    epoch = $1.to_i
                    lead = $1.length + 1
                  elsif evr[0].ord == ":".ord
                    epoch = 0
                    lead = 1
                  end

                  if evr =~ %r{:?.*-(.*)$}
                    release = $1
                    tail = evr.length - release.length - lead - 1

                    if release.empty?
                      release = nil
                    end
                  end

                  version = evr[lead,tail]
                  if version.empty?
                    version = nil
                  end

                  [ epoch, version, release ]
                end