# File lib/puppet/provider/package/dpkg.rb, line 96
 96:   def query
 97:     packages = []
 98: 
 99:     fields = [:desired, :error, :status, :name, :ensure]
100: 
101:     hash = {}
102: 
103:     # list out our specific package
104:     begin
105: 
106:             output = dpkgquery(
107:         "-W", "--showformat",
108:         
109:         '${Status} ${Package} ${Version}\\n', @resource[:name]
110:       )
111:     rescue Puppet::ExecutionFailure
112:       # dpkg-query exits 1 if the package is not found.
113:       return {:ensure => :purged, :status => 'missing', :name => @resource[:name], :error => 'ok'}
114: 
115:     end
116: 
117:     hash = self.class.parse_line(output) || {:ensure => :absent, :status => 'missing', :name => @resource[:name], :error => 'ok'}
118: 
119:     if hash[:error] != "ok"
120:       raise Puppet::Error.new(
121:         "Package #{hash[:name]}, version #{hash[:ensure]} is in error state: #{hash[:error]}"
122:       )
123:     end
124: 
125:     hash
126:   end