# File lib/puppet/provider/package/openbsd.rb, line 74
74:   def get_version
75:       execpipe([command(:pkginfo), " -I ", @resource[:name]]) do |process|
76:         # our regex for matching pkg_info output
77:         regex = /^(.*)-(\d[^-]*)[-]?(\D*)(.*)$/
78:         fields = [ :name, :version, :flavor ]
79:         master_version = 0
80: 
81:         process.each do |line|
82:           if match = regex.match(line.split[0])
83:             # now we return the first version, unless ensure is latest
84:             version = match.captures[1]
85:             return version unless @resource[:ensure] == "latest"
86: 
87:             master_version = version unless master_version > version
88:           end
89:         end
90: 
91:         return master_version unless master_version == 0
92:         raise Puppet::Error, "#{version} is not available for this package"
93:       end
94:   rescue Puppet::ExecutionFailure
95:       return nil
96:   end