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