# 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