diff options
author | Elan Ruusamäe <glen@delfi.ee> | 2016-05-11 15:16:14 +0300 |
---|---|---|
committer | Elan Ruusamäe <glen@delfi.ee> | 2016-05-11 15:23:25 +0300 |
commit | ceb552d23e4974371f97315440b0bea4455cecff (patch) | |
tree | e9b64d9778cc4a6b244579a529e77334ffb9c619 | |
parent | 780f7c5fbdebd9d65c4605f47bad9111d1176fcc (diff) | |
download | ohai-ceb552d23e4974371f97315440b0bea4455cecff.tar.gz |
improve packages attribute. #819
- rpm: add epoch, arch
- deb: add arch
-rw-r--r-- | lib/ohai/plugins/packages.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/ohai/plugins/packages.rb b/lib/ohai/plugins/packages.rb index 44874944..f39e1a60 100644 --- a/lib/ohai/plugins/packages.rb +++ b/lib/ohai/plugins/packages.rb @@ -31,23 +31,23 @@ Ohai.plugin(:Packages) do collect_data(:linux) do packages Mash.new if %w{debian}.include? platform_family - so = shell_out("dpkg-query -W") + so = shell_out("dpkg-query -W -f='${Package}\t${Version}\t${Architecture}\n'") pkgs = so.stdout.lines pkgs.each do |pkg| - name, version = pkg.split - packages[name] = { "version" => version } + name, version, arch = pkg.split + packages[name] = { "version" => version, "arch" => arch } end elsif %w{rhel fedora suse pld}.include? platform_family require "shellwords" - format = Shellwords.escape '%{NAME}\t%{VERSION}\t%{RELEASE}\n' + format = Shellwords.escape '%{NAME}\t%|EPOCH?{%{EPOCH}}:{0}|\t%{VERSION}\t%{RELEASE}\t%{ARCH}\n' so = shell_out("rpm -qa --queryformat #{format}") pkgs = so.stdout.lines pkgs.each do |pkg| - name, version, release = pkg.split - packages[name] = { "version" => version, "release" => release } + name, epoch, version, release, arch = pkg.split + packages[name] = { "epoch" => epoch, "version" => version, "release" => release, "arch" => arch } end end end |