Include two upstream patches for detecting Xen and Linux VServer better (RHBZ#973663).

- Modernize the spec file.
This commit is contained in:
Richard W.M. Jones 2013-09-11 14:13:30 +01:00
parent df47780377
commit 94c289cf84
3 changed files with 109 additions and 9 deletions

View File

@ -0,0 +1,72 @@
From d409914d13b88541402fe871d70e3dff9d738455 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Elan=20Ruusam=C3=A4e?= <glen@pld-linux.org>
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<linux_vserver>
+This is printed for backwards compatibility with older virt-what which
+could not distinguish between a Linux VServer container guest and
+host.
+
+=item B<linux_vserver-guest>
+
This process is running in a Linux VServer container.
Status: contributed by Barış Metin
+=item B<linux_vserver-host>
+
+This process is running as the Linux VServer host (VxID 0).
+
+Status: contributed by Barış Metin and Elan Ruusamäe
+
=item B<lxc>
This process is running in a Linux LXC container.
--
1.8.3.1

View File

@ -0,0 +1,25 @@
From acd6bec92a99550ad98011d44f6381fdf7fa5992 Mon Sep 17 00:00:00 2001
From: nodata <lsof@nodata.co.uk>
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

View File

@ -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 <rjones@redhat.com> - 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 <rjones@redhat.com> - 1.13-1
- New upstream version 1.13.