diff options
author | Tim Smith <tsmith@chef.io> | 2017-06-29 10:37:21 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-29 10:37:21 -0700 |
commit | efde68e7c761e6b5e1f58089175ae3a95473e60e (patch) | |
tree | 2c23de9e79d496b18073ef4c6f18638f3b68fd09 | |
parent | 6b77bee27738f720ce25df194cd3e778ea3279d1 (diff) | |
parent | f7b1123ebcaae18bc7164362f0edda7f53fe8cd5 (diff) | |
download | ohai-efde68e7c761e6b5e1f58089175ae3a95473e60e.tar.gz |
Merge pull request #1020 from chef/pr/1016
PR #1016 with updates
-rw-r--r-- | lib/ohai/plugins/packages.rb | 10 | ||||
-rw-r--r-- | spec/data/plugins/lslpp.output | 1 | ||||
-rw-r--r-- | spec/unit/plugins/packages_spec.rb | 4 |
3 files changed, 13 insertions, 2 deletions
diff --git a/lib/ohai/plugins/packages.rb b/lib/ohai/plugins/packages.rb index 52a87c8b..f041143b 100644 --- a/lib/ohai/plugins/packages.rb +++ b/lib/ohai/plugins/packages.rb @@ -94,8 +94,14 @@ Ohai.plugin(:Packages) do # Package Name:Fileset:Level # On aix, filesets are packages and levels are versions pkgs.each do |pkg| - _, name, version = pkg.split(":") - packages[name] = { "version" => version } + name, fileset, version, _, _, _, pkg_type = pkg.split(":") + if pkg_type == "R" + # RPM + packages[name] = { "version" => version } + else + # LPP + packages[fileset] = { "version" => version } + end end end diff --git a/spec/data/plugins/lslpp.output b/spec/data/plugins/lslpp.output index 0175eacf..7bd592ee 100644 --- a/spec/data/plugins/lslpp.output +++ b/spec/data/plugins/lslpp.output @@ -47,3 +47,4 @@ devices.common.IBM.ethernet:devices.common.IBM.ethernet.rte:7.1.1.16: : :C:F:Com devices.common.IBM.fc:devices.common.IBM.fc.hba-api:7.1.1.16: : :C:F:Common HBA API Library: : : : : : :0:0:/:1228 devices.common.IBM.fc:devices.common.IBM.fc.rte:7.1.1.16: : :C:F:Common IBM FC Software: : : : : : :0:0:/:1228 devices.common.IBM.fda:devices.common.IBM.fda.diag:7.1.0.0: : :C: :Common Diskette Adapter and Device Diagnostics: : : : : : :0:0:/:1036 +wget:wget-1.9.1-3:1.9.1-3: : :C:R:A utility for retrieving files using the HTTP or FTP protocols.: :/bin/rpm -e wget: : : : :0: :/opt/freeware:Wed Nov 5 01:37:09 MST 2014 diff --git a/spec/unit/plugins/packages_spec.rb b/spec/unit/plugins/packages_spec.rb index ad8c21a3..a97c3280 100644 --- a/spec/unit/plugins/packages_spec.rb +++ b/spec/unit/plugins/packages_spec.rb @@ -210,6 +210,10 @@ describe Ohai::System, "plugin packages" do it "gets packages with version" do expect(plugin[:packages]["chef"][:version]).to eq("12.5.1.1") end + + it "properly parses package names for RPMs" do + expect(plugin[:packages]["wget"][:version]).to eq("1.9.1-3") + end end context "on freebsd" do |