Summary: Profiles your system and emits JSON
Name: ruby-%{gemname}
Version: 6.16.0
-Release: 1
+Release: 2
License: Apache v2.0
Group: Development/Languages
Source0: https://github.com/opscode/ohai/archive/%{version}.tar.gz
# Source0-md5: 5c00b0ba4c313bedfec62cd5e1525551
+Patch0: virtualization-vserver.patch
URL: http://docs.opscode.com/ohai.html
BuildRequires: rpm-rubyprov
BuildRequires: rpmbuild(macros) >= 1.656
%prep
%setup -q -n ohai-%{version}
+%patch0 -p1
%{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
# no plist and not darwin so don't care
--- /dev/null
+--- ohai-6.16.0/lib/ohai/plugins/linux/virtualization.rb~ 2013-01-17 21:03:16.000000000 +0200
++++ ohai-6.16.0/lib/ohai/plugins/linux/virtualization.rb 2013-05-25 20:52:31.871480338 +0300
+@@ -23,6 +23,20 @@
+ # if it is possible to detect paravirt vs hardware virt, it should be put in
+ # virtualization[:mechanism]
+
++# Detect Linux-VServer
++if File.exists?("/proc/self/status")
++ proc_self_status = File.read("/proc/self/status")
++ vxid = proc_self_status.match(/^(s_context|VxID): (\d+)$/)
++ if vxid and vxid[2]
++ virtualization[:system] = "linux-vserver"
++ if vxid[2] == "0"
++ virtualization[:role] = "host"
++ else
++ virtualization[:role] = "guest"
++ end
++ end
++end
++
+ ## Xen
+ # /proc/xen is an empty dir for EL6 + Linode Guests
+ if File.exists?("/proc/xen")
+@@ -109,17 +123,3 @@
+
+ end
+ end
+-
+-# Detect Linux-VServer
+-if File.exists?("/proc/self/status")
+- proc_self_status = File.read("/proc/self/status")
+- vxid = proc_self_status.match(/^(s_context|VxID): (\d+)$/)
+- if vxid and vxid[2]
+- virtualization[:system] = "linux-vserver"
+- if vxid[2] == "0"
+- virtualization[:role] = "host"
+- else
+- virtualization[:role] = "guest"
+- end
+- end
+-end