diff --git a/0001-Differentiate-between-vserver-host-and-guest.patch b/0001-Differentiate-between-vserver-host-and-guest.patch new file mode 100644 index 0000000..38c34ef --- /dev/null +++ b/0001-Differentiate-between-vserver-host-and-guest.patch @@ -0,0 +1,72 @@ +From d409914d13b88541402fe871d70e3dff9d738455 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Elan=20Ruusam=C3=A4e?= +Date: Mon, 2 Sep 2013 15:24:11 +0100 +Subject: [PATCH 1/2] Differentiate between vserver host and guest. + +RWMJ: Update documentation and tests. +--- + tests/test-linux-vserver.sh | 3 ++- + virt-what.in | 5 +++++ + virt-what.pod | 12 ++++++++++++ + 3 files changed, 19 insertions(+), 1 deletion(-) + +diff --git a/tests/test-linux-vserver.sh b/tests/test-linux-vserver.sh +index 40d75a5..7988f81 100755 +--- a/tests/test-linux-vserver.sh ++++ b/tests/test-linux-vserver.sh +@@ -19,7 +19,8 @@ + root=tests/linux-vserver + + output="$(./virt-what --test-root=$root 2>&1)" +-expected="linux_vserver" ++expected="linux_vserver ++linux_vserver-guest" + + if [ "$output" != "$expected" ]; then + echo "$0: test failed because output did not match expected" +diff --git a/virt-what.in b/virt-what.in +index f12c95b..422f6d0 100644 +--- a/virt-what.in ++++ b/virt-what.in +@@ -147,6 +147,11 @@ fi + # Check for Linux-VServer + if cat "${root}/proc/self/status" | grep -q "VxID: [0-9]*"; then + echo linux_vserver ++ if grep -q "VxID: 0$" "${root}/proc/self/status"; then ++ echo linux_vserver-host ++ else ++ echo linux_vserver-guest ++ fi + fi + + # Check for UML. +diff --git a/virt-what.pod b/virt-what.pod +index 98cd4af..bff2998 100644 +--- a/virt-what.pod ++++ b/virt-what.pod +@@ -62,10 +62,22 @@ Status: confirmed by RWMJ using a Fedora guest running in z/VM + + =item B + ++This is printed for backwards compatibility with older virt-what which ++could not distinguish between a Linux VServer container guest and ++host. ++ ++=item B ++ + This process is running in a Linux VServer container. + + Status: contributed by Barış Metin + ++=item B ++ ++This process is running as the Linux VServer host (VxID 0). ++ ++Status: contributed by Barış Metin and Elan Ruusamäe ++ + =item B + + This process is running in a Linux LXC container. +-- +1.8.3.1 + diff --git a/0002-Detect-new-Xen-VMs-RHBZ-973663.patch b/0002-Detect-new-Xen-VMs-RHBZ-973663.patch new file mode 100644 index 0000000..a161b63 --- /dev/null +++ b/0002-Detect-new-Xen-VMs-RHBZ-973663.patch @@ -0,0 +1,25 @@ +From acd6bec92a99550ad98011d44f6381fdf7fa5992 Mon Sep 17 00:00:00 2001 +From: nodata +Date: Mon, 2 Sep 2013 16:59:32 +0100 +Subject: [PATCH 2/2] Detect new Xen VMs (RHBZ#973663). + +--- + virt-what.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/virt-what.in b/virt-what.in +index 422f6d0..bf663aa 100644 +--- a/virt-what.in ++++ b/virt-what.in +@@ -197,7 +197,7 @@ fi + if [ "$cpuid" = "XenVMMXenVMM" ]; then + echo xen; echo xen-hvm + skip_qemu_kvm=true +-elif [ -f "${root}/proc/xen/capabilities" ]; then ++elif [ -d "${root}/proc/xen" ]; then + echo xen + if grep -q "control_d" "${root}/proc/xen/capabilities"; then + echo xen-dom0 +-- +1.8.3.1 + diff --git a/virt-what.spec b/virt-what.spec index f2b5290..501103b 100644 --- a/virt-what.spec +++ b/virt-what.spec @@ -2,12 +2,13 @@ Name: virt-what Version: 1.13 Release: 1%{?dist} Summary: Detect if we are running in a virtual machine - -Group: Applications/Emulators License: GPLv2+ + URL: http://people.redhat.com/~rjones/virt-what/ Source0: http://people.redhat.com/~rjones/virt-what/files/%{name}-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Patch1: 0001-Differentiate-between-vserver-host-and-guest.patch +Patch2: 0002-Detect-new-Xen-VMs-RHBZ-973663.patch # This is provided by the build root, but we make it explicit # anyway in case this was dropped from the build root in future. @@ -57,6 +58,9 @@ Current types of virtualization detected: %prep %setup -q +%patch1 -p1 +%patch2 -p1 + %build %configure @@ -64,7 +68,6 @@ make %install -rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT @@ -72,12 +75,7 @@ make install DESTDIR=$RPM_BUILD_ROOT make check -%clean -rm -rf $RPM_BUILD_ROOT - - %files -%defattr(-,root,root,-) %doc README COPYING %{_sbindir}/virt-what %{_libexecdir}/virt-what-cpuid-helper @@ -85,6 +83,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Sep 11 2013 Richard W.M. Jones - 1.13-2 +- Include two upstream patches for detecting Xen and Linux VServer better + (RHBZ#973663). +- Modernize the spec file. + * Mon Jul 29 2013 Richard W.M. Jones - 1.13-1 - New upstream version 1.13.