From 4b8bef5e9e4416ebb75212a43caf1dacc469321e Mon Sep 17 00:00:00 2001 From: Peter Eriksson Date: Thu, 21 Mar 2024 08:50:12 +0100 Subject: [PATCH 1/2] Add support for OmniOS (OpenSolaris derivative) --- lib/facter/facts/solaris/os/name.rb | 3 ++- lib/facter/resolvers/solaris/os_release.rb | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/facter/facts/solaris/os/name.rb b/lib/facter/facts/solaris/os/name.rb index 261c0dc09a..d3c7a617e6 100644 --- a/lib/facter/facts/solaris/os/name.rb +++ b/lib/facter/facts/solaris/os/name.rb @@ -9,7 +9,8 @@ class Name def call_the_resolver value = Facter::Resolvers::Uname.resolve(:kernelname) - fact_value = value == 'SunOS' ? 'Solaris' : value + version = Facter::Resolvers::Uname.resolve(:kernelversion) + fact_value = value == 'SunOS' ? (version =~ /^omnios-/ ? 'OmniOS' : 'Solaris') : value [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] end diff --git a/lib/facter/resolvers/solaris/os_release.rb b/lib/facter/resolvers/solaris/os_release.rb index 109f493392..7dc90e6fad 100644 --- a/lib/facter/resolvers/solaris/os_release.rb +++ b/lib/facter/resolvers/solaris/os_release.rb @@ -7,7 +7,8 @@ class OsRelease < BaseResolver init_resolver OS_VERSION_REGEX_PATTERNS = ['Solaris \d+ \d+/\d+ s(\d+)[sx]?_u(\d+)wos_', - 'Solaris (\d+)[.](\d+)', 'Solaris (\d+)'].freeze + 'Solaris (\d+)[.](\d+)', 'Solaris (\d+)', + 'OmniOS v(\d+) (r\d+)'].freeze class << self private From 0da3a3bf08ee1acec96b1a98e1f94f1cccddd5e9 Mon Sep 17 00:00:00 2001 From: Peter Eriksson Date: Fri, 26 Jul 2024 10:28:48 +0200 Subject: [PATCH 2/2] Update lib/facter/facts/solaris/os/name.rb Co-authored-by: Josh Cooper <737664+joshcooper@users.noreply.github.com> --- lib/facter/facts/solaris/os/name.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/facter/facts/solaris/os/name.rb b/lib/facter/facts/solaris/os/name.rb index d3c7a617e6..c547e655f2 100644 --- a/lib/facter/facts/solaris/os/name.rb +++ b/lib/facter/facts/solaris/os/name.rb @@ -10,7 +10,14 @@ class Name def call_the_resolver value = Facter::Resolvers::Uname.resolve(:kernelname) version = Facter::Resolvers::Uname.resolve(:kernelversion) - fact_value = value == 'SunOS' ? (version =~ /^omnios-/ ? 'OmniOS' : 'Solaris') : value + fact_value = case value + when 'SunOS' + 'Solaris' + when /^omnios-/ + 'OmniOS' + else + value + end [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] end