diff options
author | Tim Smith <tsmith@chef.io> | 2016-05-27 16:52:19 -0700 |
---|---|---|
committer | Tim Smith <tsmith@chef.io> | 2016-05-27 17:04:13 -0700 |
commit | c744ed7e855dcd18b0b46e8d64d2b3d0d830c1c1 (patch) | |
tree | 57a5d8d17d931c358c08110216d44f221bde2d28 | |
parent | eb75927881b10f1c60a26add31f6afe9f773330f (diff) | |
download | ohai-gentoo.tar.gz |
Switch to kernel version to identify Gentoo versionsgentoo
We're looking at the gentoo release file to identify the version currently which is 2.2. It's been 2.2 for years since that's just the Gentoo Base System version which never changes. We should do what we do on Arch and use the kernel version string. This is a copy / paste of that code.
Signed-off-by: Tim Smith <tsmith@chef.io>
-rw-r--r-- | lib/ohai/plugins/linux/platform.rb | 5 | ||||
-rw-r--r-- | spec/unit/plugins/linux/platform_spec.rb | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/ohai/plugins/linux/platform.rb b/lib/ohai/plugins/linux/platform.rb index d70c2874..21cc4030 100644 --- a/lib/ohai/plugins/linux/platform.rb +++ b/lib/ohai/plugins/linux/platform.rb @@ -118,7 +118,10 @@ Ohai.plugin(:Platform) do platform_version get_redhatish_version(contents) elsif File.exist?("/etc/gentoo-release") platform "gentoo" - platform_version File.read("/etc/gentoo-release").scan(/(\d+|\.+)/).join + # the gentoo release version is the base version used to bootstrap + # a node and doesn't have a lot of meaning in a rolling release distro + # kernel release will be used - ex. 3.18.7-gentoo + platform_version `uname -r`.strip elsif File.exist?("/etc/SuSE-release") suse_release = File.read("/etc/SuSE-release") suse_version = suse_release.scan(/VERSION = (\d+)\nPATCHLEVEL = (\d+)/).flatten.join(".") diff --git a/spec/unit/plugins/linux/platform_spec.rb b/spec/unit/plugins/linux/platform_spec.rb index 5dccc929..3501610e 100644 --- a/spec/unit/plugins/linux/platform_spec.rb +++ b/spec/unit/plugins/linux/platform_spec.rb @@ -217,11 +217,16 @@ describe Ohai::System, "Linux plugin platform" do end it "should set platform and platform_family to gentoo" do - expect(File).to receive(:read).with("/etc/gentoo-release").and_return("Gentoo Base System release 1.20.1.1") @plugin.run expect(@plugin[:platform]).to eq("gentoo") expect(@plugin[:platform_family]).to eq("gentoo") end + + it "should set platform_version to kernel release" do + expect(@plugin).to receive(:`).with("uname -r").and_return("3.18.7-gentoo") + @plugin.run + expect(@plugin[:platform_version]).to eq("3.18.7-gentoo") + end end describe "on alpine" do |