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