lib/ohai/plugins/solaris2/platform.rb in ohai-6.24.2 vs lib/ohai/plugins/solaris2/platform.rb in ohai-7.0.0.rc.0

- old
+ new

@@ -14,48 +14,52 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # -provides "platform", "platform_version", "platform_build" +Ohai.plugin(:Platform) do + provides "platform", "platform_version", "platform_build", "platform_family" -if File.exists?("/sbin/uname") - uname_exec = "/sbin/uname" -else - uname_exec = "uname" -end + collect_data(:solaris2) do + if File.exists?("/sbin/uname") + uname_exec = "/sbin/uname" + else + uname_exec = "uname" + end -popen4("#{uname_exec} -X") do |pid, stdin, stdout, stderr| - stdin.close - stdout.each do |line| - case line - when /^Release =\s+(.+)$/ - platform_version $1 - when /^KernelID =\s+(.+)$/ - platform_build $1 + so = shell_out("#{uname_exec} -X") + so.stdout.lines do |line| + case line + when /^Release =\s+(.+)$/ + platform_version $1 + when /^KernelID =\s+(.+)$/ + platform_build $1 + end end - end -end -File.open("/etc/release") do |file| - while line = file.gets - case line - when /^.*(SmartOS).*$/ - platform "smartos" - when /^\s*(OmniOS).*r(\d+).*$/ - platform "omnios" - platform_version $2 - when /^\s*(OpenIndiana).*oi_(\d+).*$/ - platform "openindiana" - platform_version $2 - when /^\s*(OpenSolaris).*snv_(\d+).*$/ - platform "opensolaris" - platform_version $2 - when /^\s*(Oracle Solaris) (\d+)\s.*$/ - platform "solaris2" - when /^\s*(Solaris)\s.*$/ - platform "solaris2" - when /^\s*(NexentaCore)\s.*$/ - platform "nexentacore" + File.open("/etc/release") do |file| + while line = file.gets + case line + when /^.*(SmartOS).*$/ + platform "smartos" + when /^\s*(OmniOS).*r(\d+).*$/ + platform "omnios" + platform_version $2 + when /^\s*(OpenIndiana).*oi_(\d+).*$/ + platform "openindiana" + platform_version $2 + when /^\s*(OpenSolaris).*snv_(\d+).*$/ + platform "opensolaris" + platform_version $2 + when /^\s*(Oracle Solaris) (\d+)\s.*$/ + platform "solaris2" + when /^\s*(Solaris)\s.*$/ + platform "solaris2" + when /^\s*(NexentaCore)\s.*$/ + platform "nexentacore" + end + end end + + platform_family platform end end