[Pkg-libvirt-commits] [virt-what] 01/18: New upstream version 1.15

Joao Eriberto Mota Filho eriberto at moszumanska.debian.org
Wed Dec 28 01:47:36 UTC 2016


This is an automated email from the git hooks/post-receive script.

eriberto pushed a commit to branch debian/sid
in repository virt-what.

commit 98d3385fee66cde1be5521a25eafdffa286438ee
Author: Joao Eriberto Mota Filho <eriberto at debian.org>
Date:   Sat Dec 24 01:41:07 2016 -0200

    New upstream version 1.15
---
 Makefile.am                                        |  38 +++-
 Makefile.in                                        |  92 +++++++-
 aclocal.m4                                         | 154 +++++++++----
 config.h.in                                        |   3 -
 configure                                          | 247 +++++++++------------
 configure.ac                                       |   4 +-
 tests/docker/.dockerinit                           |   0
 tests/docker/proc/cpuinfo                          |   0
 tests/docker/proc/self/status                      |   0
 tests/docker/sbin/dmidecode                        |   6 +
 tests/docker/sbin/uname                            |   2 +
 tests/docker/sbin/virt-what-cpuid-helper           |   2 +
 tests/lkvm-arm/proc/cpuinfo                        |  63 ++++++
 tests/lkvm-arm/proc/device-tree/compatible         |   1 +
 tests/lkvm-arm/proc/self/status                    |  41 ++++
 tests/lkvm-arm/sbin/dmidecode                      |   2 +
 tests/lkvm-arm/sbin/uname                          |   2 +
 tests/lkvm-arm/sbin/virt-what-cpuid-helper         |   2 +
 tests/lkvm/proc/cpuinfo                            |  19 ++
 tests/lkvm/proc/self/status                        |  39 ++++
 tests/lkvm/sbin/dmidecode                          |   2 +
 tests/lkvm/sbin/uname                              |   2 +
 tests/lkvm/sbin/virt-what-cpuid-helper             |   2 +
 tests/qemu-arm/proc/cpuinfo                        |  63 ++++++
 .../proc/device-tree/fw-cfg at 9020000/compatible     |   1 +
 tests/qemu-arm/proc/self/status                    |  41 ++++
 tests/qemu-arm/sbin/dmidecode                      |   2 +
 tests/qemu-arm/sbin/uname                          |   2 +
 tests/qemu-arm/sbin/virt-what-cpuid-helper         |   2 +
 tests/test-docker.sh                               |  34 +++
 tests/test-lkvm-arm.sh                             |  34 +++
 tests/test-lkvm.sh                                 |  34 +++
 tests/test-qemu-arm.sh                             |  34 +++
 tests/test-xen-arm.sh                              |  34 +++
 tests/xen-arm/proc/cpuinfo                         |  63 ++++++
 .../xen-arm/proc/device-tree/hypervisor/compatible |   1 +
 tests/xen-arm/proc/self/status                     |  41 ++++
 tests/xen-arm/sbin/dmidecode                       |   2 +
 tests/xen-arm/sbin/uname                           |   2 +
 tests/xen-arm/sbin/virt-what-cpuid-helper          |   2 +
 virt-what.in                                       |  81 +++++--
 virt-what.pod                                      |  16 +-
 42 files changed, 1003 insertions(+), 209 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 784d6db..8a47e96 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -32,27 +32,32 @@ man_MANS = virt-what.1
 
 virt-what.1: virt-what.pod
 	pod2man -c "Virtualization Support" --release "$(PACKAGE)-$(VERSION)" \
-	  $< > $@
+	  $? > $@
 virt-what.txt: virt-what.pod
-	pod2text $< > $@
+	pod2text $? > $@
 
 endif
 
 TESTS = \
 	tests/test-baremetal.sh \
+	tests/test-docker.sh \
 	tests/test-esx4.1.sh \
 	tests/test-hyperv.sh \
 	tests/test-kvm.sh \
 	tests/test-kvm-explicit-cpu.sh \
 	tests/test-linux-vserver.sh \
+	tests/test-lkvm.sh \
+	tests/test-lkvm-arm.sh \
 	tests/test-lxc.sh \
 	tests/test-lx86.sh \
 	tests/test-parallels-desktop.sh \
 	tests/test-qemu.sh \
+	tests/test-qemu-arm.sh \
 	tests/test-rhel5-xen-dom0.sh \
 	tests/test-rhel5-xen-domU-hvm.sh \
 	tests/test-rhel5-xen-domU-hvm-ia64.sh \
 	tests/test-rhel5-xen-domU-pv.sh \
+	tests/test-xen-arm.sh \
 	tests/test-zvm.sh
 
 EXTRA_DIST = \
@@ -63,6 +68,12 @@ EXTRA_DIST = \
 	tests/baremetal/sbin/dmidecode \
 	tests/baremetal/sbin/uname \
 	tests/baremetal/sbin/virt-what-cpuid-helper \
+	tests/docker/.dockerinit \
+	tests/docker/proc/cpuinfo \
+	tests/docker/proc/self/status \
+	tests/docker/sbin/dmidecode \
+	tests/docker/sbin/uname \
+	tests/docker/sbin/virt-what-cpuid-helper \
 	tests/esx4.1/proc/cpuinfo \
 	tests/esx4.1/proc/self/status \
 	tests/esx4.1/sbin/dmidecode \
@@ -88,6 +99,17 @@ EXTRA_DIST = \
 	tests/linux-vserver/sbin/dmidecode \
 	tests/linux-vserver/sbin/uname \
 	tests/linux-vserver/sbin/virt-what-cpuid-helper \
+	tests/lkvm/proc/cpuinfo \
+	tests/lkvm/proc/self/status \
+	tests/lkvm/sbin/dmidecode \
+	tests/lkvm/sbin/uname \
+	tests/lkvm/sbin/virt-what-cpuid-helper \
+	tests/lkvm-arm/proc/cpuinfo \
+	tests/lkvm-arm/proc/device-tree/compatible \
+	tests/lkvm-arm/proc/self/status \
+	tests/lkvm-arm/sbin/dmidecode \
+	tests/lkvm-arm/sbin/uname \
+	tests/lkvm-arm/sbin/virt-what-cpuid-helper \
 	tests/lxc/proc/1/environ \
 	tests/lxc/proc/cpuinfo \
 	tests/lxc/proc/self/status \
@@ -109,6 +131,12 @@ EXTRA_DIST = \
 	tests/qemu/sbin/dmidecode \
 	tests/qemu/sbin/uname \
 	tests/qemu/sbin/virt-what-cpuid-helper \
+	tests/qemu-arm/proc/cpuinfo \
+	tests/qemu-arm/proc/device-tree/fw-cfg at 9020000/compatible \
+	tests/qemu-arm/proc/self/status \
+	tests/qemu-arm/sbin/dmidecode \
+	tests/qemu-arm/sbin/uname \
+	tests/qemu-arm/sbin/virt-what-cpuid-helper \
 	tests/rhel5-xen-dom0/proc/cpuinfo \
 	tests/rhel5-xen-dom0/proc/self/status \
 	tests/rhel5-xen-dom0/proc/xen/balloon \
@@ -172,6 +200,12 @@ EXTRA_DIST = \
 	tests/rhel5-xen-domU-pv/sys/hypervisor/compilation/compiled_by \
 	tests/rhel5-xen-domU-pv/sys/hypervisor/compilation/compile_date \
 	tests/rhel5-xen-domU-pv/sys/hypervisor/uuid \
+	tests/xen-arm/proc/cpuinfo \
+	tests/xen-arm/proc/device-tree/hypervisor/compatible \
+	tests/xen-arm/proc/self/status \
+	tests/xen-arm/sbin/dmidecode \
+	tests/xen-arm/sbin/uname \
+	tests/xen-arm/sbin/virt-what-cpuid-helper \
 	tests/zvm/proc/cpuinfo \
 	tests/zvm/proc/self/status \
 	tests/zvm/proc/sysinfo \
diff --git a/Makefile.in b/Makefile.in
index 5867777..87b6aee 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -510,19 +510,24 @@ sbin_SCRIPTS = virt-what
 @HAVE_POD2MAN_TRUE at man_MANS = virt-what.1
 TESTS = \
 	tests/test-baremetal.sh \
+	tests/test-docker.sh \
 	tests/test-esx4.1.sh \
 	tests/test-hyperv.sh \
 	tests/test-kvm.sh \
 	tests/test-kvm-explicit-cpu.sh \
 	tests/test-linux-vserver.sh \
+	tests/test-lkvm.sh \
+	tests/test-lkvm-arm.sh \
 	tests/test-lxc.sh \
 	tests/test-lx86.sh \
 	tests/test-parallels-desktop.sh \
 	tests/test-qemu.sh \
+	tests/test-qemu-arm.sh \
 	tests/test-rhel5-xen-dom0.sh \
 	tests/test-rhel5-xen-domU-hvm.sh \
 	tests/test-rhel5-xen-domU-hvm-ia64.sh \
 	tests/test-rhel5-xen-domU-pv.sh \
+	tests/test-xen-arm.sh \
 	tests/test-zvm.sh
 
 EXTRA_DIST = \
@@ -533,6 +538,12 @@ EXTRA_DIST = \
 	tests/baremetal/sbin/dmidecode \
 	tests/baremetal/sbin/uname \
 	tests/baremetal/sbin/virt-what-cpuid-helper \
+	tests/docker/.dockerinit \
+	tests/docker/proc/cpuinfo \
+	tests/docker/proc/self/status \
+	tests/docker/sbin/dmidecode \
+	tests/docker/sbin/uname \
+	tests/docker/sbin/virt-what-cpuid-helper \
 	tests/esx4.1/proc/cpuinfo \
 	tests/esx4.1/proc/self/status \
 	tests/esx4.1/sbin/dmidecode \
@@ -558,6 +569,17 @@ EXTRA_DIST = \
 	tests/linux-vserver/sbin/dmidecode \
 	tests/linux-vserver/sbin/uname \
 	tests/linux-vserver/sbin/virt-what-cpuid-helper \
+	tests/lkvm/proc/cpuinfo \
+	tests/lkvm/proc/self/status \
+	tests/lkvm/sbin/dmidecode \
+	tests/lkvm/sbin/uname \
+	tests/lkvm/sbin/virt-what-cpuid-helper \
+	tests/lkvm-arm/proc/cpuinfo \
+	tests/lkvm-arm/proc/device-tree/compatible \
+	tests/lkvm-arm/proc/self/status \
+	tests/lkvm-arm/sbin/dmidecode \
+	tests/lkvm-arm/sbin/uname \
+	tests/lkvm-arm/sbin/virt-what-cpuid-helper \
 	tests/lxc/proc/1/environ \
 	tests/lxc/proc/cpuinfo \
 	tests/lxc/proc/self/status \
@@ -579,6 +601,12 @@ EXTRA_DIST = \
 	tests/qemu/sbin/dmidecode \
 	tests/qemu/sbin/uname \
 	tests/qemu/sbin/virt-what-cpuid-helper \
+	tests/qemu-arm/proc/cpuinfo \
+	tests/qemu-arm/proc/device-tree/fw-cfg at 9020000/compatible \
+	tests/qemu-arm/proc/self/status \
+	tests/qemu-arm/sbin/dmidecode \
+	tests/qemu-arm/sbin/uname \
+	tests/qemu-arm/sbin/virt-what-cpuid-helper \
 	tests/rhel5-xen-dom0/proc/cpuinfo \
 	tests/rhel5-xen-dom0/proc/self/status \
 	tests/rhel5-xen-dom0/proc/xen/balloon \
@@ -642,6 +670,12 @@ EXTRA_DIST = \
 	tests/rhel5-xen-domU-pv/sys/hypervisor/compilation/compiled_by \
 	tests/rhel5-xen-domU-pv/sys/hypervisor/compilation/compile_date \
 	tests/rhel5-xen-domU-pv/sys/hypervisor/uuid \
+	tests/xen-arm/proc/cpuinfo \
+	tests/xen-arm/proc/device-tree/hypervisor/compatible \
+	tests/xen-arm/proc/self/status \
+	tests/xen-arm/sbin/dmidecode \
+	tests/xen-arm/sbin/uname \
+	tests/xen-arm/sbin/virt-what-cpuid-helper \
 	tests/zvm/proc/cpuinfo \
 	tests/zvm/proc/self/status \
 	tests/zvm/proc/sysinfo \
@@ -691,8 +725,8 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-	@if test ! -f $@; then rm -f stamp-h1; else :; fi
-	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+	@test -f $@ || rm -f stamp-h1
+	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
@@ -806,14 +840,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 install-man1: $(man_MANS)
 	@$(NORMAL_INSTALL)
 	@list1=''; \
@@ -1065,6 +1099,13 @@ tests/test-baremetal.sh.log: tests/test-baremetal.sh
 	--log-file $$b.log --trs-file $$b.trs \
 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+tests/test-docker.sh.log: tests/test-docker.sh
+	@p='tests/test-docker.sh'; \
+	b='tests/test-docker.sh'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
 tests/test-esx4.1.sh.log: tests/test-esx4.1.sh
 	@p='tests/test-esx4.1.sh'; \
 	b='tests/test-esx4.1.sh'; \
@@ -1100,6 +1141,20 @@ tests/test-linux-vserver.sh.log: tests/test-linux-vserver.sh
 	--log-file $$b.log --trs-file $$b.trs \
 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+tests/test-lkvm.sh.log: tests/test-lkvm.sh
+	@p='tests/test-lkvm.sh'; \
+	b='tests/test-lkvm.sh'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+tests/test-lkvm-arm.sh.log: tests/test-lkvm-arm.sh
+	@p='tests/test-lkvm-arm.sh'; \
+	b='tests/test-lkvm-arm.sh'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
 tests/test-lxc.sh.log: tests/test-lxc.sh
 	@p='tests/test-lxc.sh'; \
 	b='tests/test-lxc.sh'; \
@@ -1128,6 +1183,13 @@ tests/test-qemu.sh.log: tests/test-qemu.sh
 	--log-file $$b.log --trs-file $$b.trs \
 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+tests/test-qemu-arm.sh.log: tests/test-qemu-arm.sh
+	@p='tests/test-qemu-arm.sh'; \
+	b='tests/test-qemu-arm.sh'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
 tests/test-rhel5-xen-dom0.sh.log: tests/test-rhel5-xen-dom0.sh
 	@p='tests/test-rhel5-xen-dom0.sh'; \
 	b='tests/test-rhel5-xen-dom0.sh'; \
@@ -1156,6 +1218,13 @@ tests/test-rhel5-xen-domU-pv.sh.log: tests/test-rhel5-xen-domU-pv.sh
 	--log-file $$b.log --trs-file $$b.trs \
 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+tests/test-xen-arm.sh.log: tests/test-xen-arm.sh
+	@p='tests/test-xen-arm.sh'; \
+	b='tests/test-xen-arm.sh'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
 tests/test-zvm.sh.log: tests/test-zvm.sh
 	@p='tests/test-zvm.sh'; \
 	b='tests/test-zvm.sh'; \
@@ -1234,10 +1303,16 @@ dist-xz: distdir
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
 
@@ -1279,9 +1354,10 @@ distcheck: dist
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
 	  && $(am__cd) $(distdir)/_build \
-	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	  && ../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	    --srcdir=.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -1475,9 +1551,9 @@ uninstall-man: uninstall-man1
 
 @HAVE_POD2MAN_TRUE at virt-what.1: virt-what.pod
 @HAVE_POD2MAN_TRUE@	pod2man -c "Virtualization Support" --release "$(PACKAGE)-$(VERSION)" \
- at HAVE_POD2MAN_TRUE@	  $< > $@
+ at HAVE_POD2MAN_TRUE@	  $? > $@
 @HAVE_POD2MAN_TRUE at virt-what.txt: virt-what.pod
- at HAVE_POD2MAN_TRUE@	pod2text $< > $@
+ at HAVE_POD2MAN_TRUE@	pod2text $? > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/aclocal.m4 b/aclocal.m4
index cca41d7..3a9a040 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.13.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
 
 # Copyright (C) 1996-2013 Free Software Foundation, Inc.
 
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.13'
+[am__api_version='1.14'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.13.4], [],
+m4_if([$1], [1.14.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.13.4])dnl
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -418,6 +418,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
 # -----------------------------------------------
@@ -526,7 +532,48 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake at gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi])
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
@@ -534,7 +581,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
-
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
@@ -646,38 +692,6 @@ AC_MSG_RESULT([$_am_result])
 rm -f confinc confmf
 ])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
-          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
 # Copyright (C) 1997-2013 Free Software Foundation, Inc.
@@ -748,6 +762,70 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
 # Copyright (C) 1996-2013 Free Software Foundation, Inc.
diff --git a/config.h.in b/config.h.in
index 0a0e13e..fedb0cf 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,8 +1,5 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
 /* Name of package */
 #undef PACKAGE
 
diff --git a/configure b/configure
index 96266dd..ad5bad5 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for virt-what 1.14.
+# Generated by GNU Autoconf 2.69 for virt-what 1.15.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -576,8 +576,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='virt-what'
 PACKAGE_TARNAME='virt-what'
-PACKAGE_VERSION='1.14'
-PACKAGE_STRING='virt-what 1.14'
+PACKAGE_VERSION='1.15'
+PACKAGE_STRING='virt-what 1.15'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1236,7 +1236,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures virt-what 1.14 to adapt to many kinds of systems.
+\`configure' configures virt-what 1.15 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1306,7 +1306,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of virt-what 1.14:";;
+     short | recursive ) echo "Configuration of virt-what 1.15:";;
    esac
   cat <<\_ACEOF
 
@@ -1397,7 +1397,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-virt-what configure 1.14
+virt-what configure 1.15
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1489,7 +1489,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by virt-what $as_me 1.14, which was
+It was created by virt-what $as_me 1.15, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -1837,7 +1837,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-am__api_version='1.13'
+am__api_version='1.14'
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -2352,7 +2352,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='virt-what'
- VERSION='1.14'
+ VERSION='1.15'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2403,6 +2403,47 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake at gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
 
 DEPDIR="${am__leading_dot}deps"
 
@@ -3256,6 +3297,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
 depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -3833,131 +3933,6 @@ fi
 
 test "x$U" != "x" && as_fn_error $? "Compiler not ANSI compliant" "$LINENO" 5
 
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-		      sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-	 test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-	# cc works too.
-	:
-      else
-	# cc exists but doesn't like -o.
-	eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
 
 
 # Make sure we can run config.sub.
@@ -4636,7 +4611,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by virt-what $as_me 1.14, which was
+This file was extended by virt-what $as_me 1.15, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -4702,7 +4677,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-virt-what config.status 1.14
+virt-what config.status 1.15
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index da2ebb3..faa8635 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 # virt-what
-# Copyright (C) 2008-2011 Red Hat Inc.
+# Copyright (C) 2008-2015 Red Hat Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-AC_INIT([virt-what],[1.14])
+AC_INIT([virt-what],[1.15])
 AM_INIT_AUTOMAKE([foreign])
 
 dnl Check for basic C environment.
diff --git a/tests/docker/.dockerinit b/tests/docker/.dockerinit
new file mode 100644
index 0000000..e69de29
diff --git a/tests/docker/proc/cpuinfo b/tests/docker/proc/cpuinfo
new file mode 100644
index 0000000..e69de29
diff --git a/tests/docker/proc/self/status b/tests/docker/proc/self/status
new file mode 100644
index 0000000..e69de29
diff --git a/tests/docker/sbin/dmidecode b/tests/docker/sbin/dmidecode
new file mode 100755
index 0000000..d9992ad
--- /dev/null
+++ b/tests/docker/sbin/dmidecode
@@ -0,0 +1,6 @@
+#!/bin/sh -
+cat <<'EOF'
+# dmidecode 2.11
+/dev/mem: Operation not permitted
+EOF
+exit 1
diff --git a/tests/docker/sbin/uname b/tests/docker/sbin/uname
new file mode 100755
index 0000000..ab0ec89
--- /dev/null
+++ b/tests/docker/sbin/uname
@@ -0,0 +1,2 @@
+#!/bin/sh -
+echo x86_64
diff --git a/tests/docker/sbin/virt-what-cpuid-helper b/tests/docker/sbin/virt-what-cpuid-helper
new file mode 100755
index 0000000..ad82504
--- /dev/null
+++ b/tests/docker/sbin/virt-what-cpuid-helper
@@ -0,0 +1,2 @@
+#!/bin/sh -
+echo @
diff --git a/tests/lkvm-arm/proc/cpuinfo b/tests/lkvm-arm/proc/cpuinfo
new file mode 100644
index 0000000..b83a182
--- /dev/null
+++ b/tests/lkvm-arm/proc/cpuinfo
@@ -0,0 +1,63 @@
+processor	: 0
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 1
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 2
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 3
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 4
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 5
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 6
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 7
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
diff --git a/tests/lkvm-arm/proc/device-tree/compatible b/tests/lkvm-arm/proc/device-tree/compatible
new file mode 100644
index 0000000..99642ed
--- /dev/null
+++ b/tests/lkvm-arm/proc/device-tree/compatible
@@ -0,0 +1 @@
+linux,dummy-virt
diff --git a/tests/lkvm-arm/proc/self/status b/tests/lkvm-arm/proc/self/status
new file mode 100644
index 0000000..751f5e7
--- /dev/null
+++ b/tests/lkvm-arm/proc/self/status
@@ -0,0 +1,41 @@
+Name:	cat
+State:	R (running)
+Tgid:	8307
+Ngid:	0
+Pid:	8307
+PPid:	1415
+TracerPid:	0
+Uid:	0	0	0	0
+Gid:	0	0	0	0
+FDSize:	256
+Groups:	
+VmPeak:	  109696 kB
+VmSize:	  109696 kB
+VmLck:	       0 kB
+VmPin:	       0 kB
+VmHWM:	     832 kB
+VmRSS:	     832 kB
+VmData:	     320 kB
+VmStk:	     256 kB
+VmExe:	      64 kB
+VmLib:	    1536 kB
+VmPTE:	     192 kB
+VmSwap:	       0 kB
+Threads:	1
+SigQ:	0/5821
+SigPnd:	0000000000000000
+ShdPnd:	0000000000000000
+SigBlk:	0000000000000000
+SigIgn:	0000000000000000
+SigCgt:	0000000000000000
+CapInh:	0000000000000000
+CapPrm:	0000003fffffffff
+CapEff:	0000003fffffffff
+CapBnd:	0000003fffffffff
+Seccomp:	0
+Cpus_allowed:	ff
+Cpus_allowed_list:	0-7
+Mems_allowed:	1
+Mems_allowed_list:	0
+voluntary_ctxt_switches:	1
+nonvoluntary_ctxt_switches:	1
diff --git a/tests/lkvm-arm/sbin/dmidecode b/tests/lkvm-arm/sbin/dmidecode
new file mode 100755
index 0000000..e53c12f
--- /dev/null
+++ b/tests/lkvm-arm/sbin/dmidecode
@@ -0,0 +1,2 @@
+#!/bin/sh -
+exit 1
diff --git a/tests/lkvm-arm/sbin/uname b/tests/lkvm-arm/sbin/uname
new file mode 100755
index 0000000..bd33a2d
--- /dev/null
+++ b/tests/lkvm-arm/sbin/uname
@@ -0,0 +1,2 @@
+#!/bin/sh -
+echo aarch64
diff --git a/tests/lkvm-arm/sbin/virt-what-cpuid-helper b/tests/lkvm-arm/sbin/virt-what-cpuid-helper
new file mode 100755
index 0000000..77a6692
--- /dev/null
+++ b/tests/lkvm-arm/sbin/virt-what-cpuid-helper
@@ -0,0 +1,2 @@
+#!/bin/sh -
+# nothing
diff --git a/tests/lkvm/proc/cpuinfo b/tests/lkvm/proc/cpuinfo
new file mode 100644
index 0000000..a53a4b9
--- /dev/null
+++ b/tests/lkvm/proc/cpuinfo
@@ -0,0 +1,19 @@
+processor	: 0
+vendor_id	: GenuineIntel
+cpu family	: 6
+model		: 15
+model name	: Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz
+stepping	: 11
+cpu MHz		: 2659.998
+cache size	: 4096 KB
+fpu		: yes
+fpu_exception	: yes
+cpuid level	: 10
+wp		: yes
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx lm constant_tsc up rep_good pni ssse3 cx16 hypervisor lahf_lm
+bogomips	: 5319.99
+clflush size	: 64
+cache_alignment	: 64
+address sizes	: 40 bits physical, 48 bits virtual
+power management:
+
diff --git a/tests/lkvm/proc/self/status b/tests/lkvm/proc/self/status
new file mode 100644
index 0000000..264981d
--- /dev/null
+++ b/tests/lkvm/proc/self/status
@@ -0,0 +1,39 @@
+Name:	cat
+State:	R (running)
+Tgid:	1618
+Pid:	1618
+PPid:	1609
+TracerPid:	0
+Uid:	0	0	0	0
+Gid:	0	0	0	0
+Utrace:	0
+FDSize:	256
+Groups:	0 1 2 3 4 6 10 
+VmPeak:	  101012 kB
+VmSize:	  101012 kB
+VmLck:	       0 kB
+VmHWM:	     472 kB
+VmRSS:	     472 kB
+VmData:	     184 kB
+VmStk:	     136 kB
+VmExe:	      44 kB
+VmLib:	    1728 kB
+VmPTE:	      44 kB
+VmSwap:	       0 kB
+Threads:	1
+SigQ:	0/7858
+SigPnd:	0000000000000000
+ShdPnd:	0000000000000000
+SigBlk:	0000000000000000
+SigIgn:	0000000000000000
+SigCgt:	0000000000000000
+CapInh:	0000000000000000
+CapPrm:	ffffffffffffffff
+CapEff:	ffffffffffffffff
+CapBnd:	ffffffffffffffff
+Cpus_allowed:	1
+Cpus_allowed_list:	0
+Mems_allowed:	00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
+Mems_allowed_list:	0
+voluntary_ctxt_switches:	0
+nonvoluntary_ctxt_switches:	1
diff --git a/tests/lkvm/sbin/dmidecode b/tests/lkvm/sbin/dmidecode
new file mode 100755
index 0000000..e53c12f
--- /dev/null
+++ b/tests/lkvm/sbin/dmidecode
@@ -0,0 +1,2 @@
+#!/bin/sh -
+exit 1
diff --git a/tests/lkvm/sbin/uname b/tests/lkvm/sbin/uname
new file mode 100755
index 0000000..ab0ec89
--- /dev/null
+++ b/tests/lkvm/sbin/uname
@@ -0,0 +1,2 @@
+#!/bin/sh -
+echo x86_64
diff --git a/tests/lkvm/sbin/virt-what-cpuid-helper b/tests/lkvm/sbin/virt-what-cpuid-helper
new file mode 100755
index 0000000..2b068cd
--- /dev/null
+++ b/tests/lkvm/sbin/virt-what-cpuid-helper
@@ -0,0 +1,2 @@
+#!/bin/sh -
+echo LKVMLKVMLKVM
diff --git a/tests/qemu-arm/proc/cpuinfo b/tests/qemu-arm/proc/cpuinfo
new file mode 100644
index 0000000..b83a182
--- /dev/null
+++ b/tests/qemu-arm/proc/cpuinfo
@@ -0,0 +1,63 @@
+processor	: 0
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 1
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 2
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 3
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 4
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 5
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 6
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 7
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
diff --git a/tests/qemu-arm/proc/device-tree/fw-cfg at 9020000/compatible b/tests/qemu-arm/proc/device-tree/fw-cfg at 9020000/compatible
new file mode 100644
index 0000000..3932ade
--- /dev/null
+++ b/tests/qemu-arm/proc/device-tree/fw-cfg at 9020000/compatible
@@ -0,0 +1 @@
+qemu,fw-cfg-mmio
diff --git a/tests/qemu-arm/proc/self/status b/tests/qemu-arm/proc/self/status
new file mode 100644
index 0000000..751f5e7
--- /dev/null
+++ b/tests/qemu-arm/proc/self/status
@@ -0,0 +1,41 @@
+Name:	cat
+State:	R (running)
+Tgid:	8307
+Ngid:	0
+Pid:	8307
+PPid:	1415
+TracerPid:	0
+Uid:	0	0	0	0
+Gid:	0	0	0	0
+FDSize:	256
+Groups:	
+VmPeak:	  109696 kB
+VmSize:	  109696 kB
+VmLck:	       0 kB
+VmPin:	       0 kB
+VmHWM:	     832 kB
+VmRSS:	     832 kB
+VmData:	     320 kB
+VmStk:	     256 kB
+VmExe:	      64 kB
+VmLib:	    1536 kB
+VmPTE:	     192 kB
+VmSwap:	       0 kB
+Threads:	1
+SigQ:	0/5821
+SigPnd:	0000000000000000
+ShdPnd:	0000000000000000
+SigBlk:	0000000000000000
+SigIgn:	0000000000000000
+SigCgt:	0000000000000000
+CapInh:	0000000000000000
+CapPrm:	0000003fffffffff
+CapEff:	0000003fffffffff
+CapBnd:	0000003fffffffff
+Seccomp:	0
+Cpus_allowed:	ff
+Cpus_allowed_list:	0-7
+Mems_allowed:	1
+Mems_allowed_list:	0
+voluntary_ctxt_switches:	1
+nonvoluntary_ctxt_switches:	1
diff --git a/tests/qemu-arm/sbin/dmidecode b/tests/qemu-arm/sbin/dmidecode
new file mode 100755
index 0000000..e53c12f
--- /dev/null
+++ b/tests/qemu-arm/sbin/dmidecode
@@ -0,0 +1,2 @@
+#!/bin/sh -
+exit 1
diff --git a/tests/qemu-arm/sbin/uname b/tests/qemu-arm/sbin/uname
new file mode 100755
index 0000000..bd33a2d
--- /dev/null
+++ b/tests/qemu-arm/sbin/uname
@@ -0,0 +1,2 @@
+#!/bin/sh -
+echo aarch64
diff --git a/tests/qemu-arm/sbin/virt-what-cpuid-helper b/tests/qemu-arm/sbin/virt-what-cpuid-helper
new file mode 100755
index 0000000..77a6692
--- /dev/null
+++ b/tests/qemu-arm/sbin/virt-what-cpuid-helper
@@ -0,0 +1,2 @@
+#!/bin/sh -
+# nothing
diff --git a/tests/test-docker.sh b/tests/test-docker.sh
new file mode 100755
index 0000000..4187f61
--- /dev/null
+++ b/tests/test-docker.sh
@@ -0,0 +1,34 @@
+# Test for Docker
+# Copyright (C) 2008-2011 Red Hat Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+root=tests/docker
+
+output="$(./virt-what --test-root=$root 2>&1)"
+expected="docker"
+
+if [ "$output" != "$expected" ]; then
+    echo "$0: test failed because output did not match expected"
+    echo "Expected output was:"
+    echo "----------------------------------------"
+    echo "$expected"
+    echo "----------------------------------------"
+    echo "But the actual output of the program was:"
+    echo "----------------------------------------"
+    echo "$output"
+    echo "----------------------------------------"
+    exit 1
+fi
diff --git a/tests/test-lkvm-arm.sh b/tests/test-lkvm-arm.sh
new file mode 100755
index 0000000..bed50ad
--- /dev/null
+++ b/tests/test-lkvm-arm.sh
@@ -0,0 +1,34 @@
+# Test for LKVM on ARM
+# Copyright (C) 2015 Red Hat Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+root=tests/lkvm-arm
+
+output="$(./virt-what --test-root=$root 2>&1)"
+expected="lkvm"
+
+if [ "$output" != "$expected" ]; then
+    echo "$0: test failed because output did not match expected"
+    echo "Expected output was:"
+    echo "----------------------------------------"
+    echo "$expected"
+    echo "----------------------------------------"
+    echo "But the actual output of the program was:"
+    echo "----------------------------------------"
+    echo "$output"
+    echo "----------------------------------------"
+    exit 1
+fi
diff --git a/tests/test-lkvm.sh b/tests/test-lkvm.sh
new file mode 100755
index 0000000..6eb326c
--- /dev/null
+++ b/tests/test-lkvm.sh
@@ -0,0 +1,34 @@
+# Test for LKVM
+# Copyright (C) 2015 Red Hat Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+root=tests/lkvm
+
+output="$(./virt-what --test-root=$root 2>&1)"
+expected="lkvm"
+
+if [ "$output" != "$expected" ]; then
+    echo "$0: test failed because output did not match expected"
+    echo "Expected output was:"
+    echo "----------------------------------------"
+    echo "$expected"
+    echo "----------------------------------------"
+    echo "But the actual output of the program was:"
+    echo "----------------------------------------"
+    echo "$output"
+    echo "----------------------------------------"
+    exit 1
+fi
diff --git a/tests/test-qemu-arm.sh b/tests/test-qemu-arm.sh
new file mode 100755
index 0000000..58455c8
--- /dev/null
+++ b/tests/test-qemu-arm.sh
@@ -0,0 +1,34 @@
+# Test for qemu on ARM
+# Copyright (C) 2015 Red Hat Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+root=tests/qemu-arm
+
+output="$(./virt-what --test-root=$root 2>&1)"
+expected="qemu"
+
+if [ "$output" != "$expected" ]; then
+    echo "$0: test failed because output did not match expected"
+    echo "Expected output was:"
+    echo "----------------------------------------"
+    echo "$expected"
+    echo "----------------------------------------"
+    echo "But the actual output of the program was:"
+    echo "----------------------------------------"
+    echo "$output"
+    echo "----------------------------------------"
+    exit 1
+fi
diff --git a/tests/test-xen-arm.sh b/tests/test-xen-arm.sh
new file mode 100755
index 0000000..209712e
--- /dev/null
+++ b/tests/test-xen-arm.sh
@@ -0,0 +1,34 @@
+# Test for Xen on ARM
+# Copyright (C) 2015 Red Hat Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+root=tests/xen-arm
+
+output="$(./virt-what --test-root=$root 2>&1)"
+expected="xen"
+
+if [ "$output" != "$expected" ]; then
+    echo "$0: test failed because output did not match expected"
+    echo "Expected output was:"
+    echo "----------------------------------------"
+    echo "$expected"
+    echo "----------------------------------------"
+    echo "But the actual output of the program was:"
+    echo "----------------------------------------"
+    echo "$output"
+    echo "----------------------------------------"
+    exit 1
+fi
diff --git a/tests/xen-arm/proc/cpuinfo b/tests/xen-arm/proc/cpuinfo
new file mode 100644
index 0000000..b83a182
--- /dev/null
+++ b/tests/xen-arm/proc/cpuinfo
@@ -0,0 +1,63 @@
+processor	: 0
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 1
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 2
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 3
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 4
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 5
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 6
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
+
+processor	: 7
+Features	: fp asimd evtstrm
+CPU implementer	: 0x50
+CPU architecture: 8
+CPU variant	: 0x0
+CPU part	: 0x000
+CPU revision	: 0
diff --git a/tests/xen-arm/proc/device-tree/hypervisor/compatible b/tests/xen-arm/proc/device-tree/hypervisor/compatible
new file mode 100644
index 0000000..070f5e2
--- /dev/null
+++ b/tests/xen-arm/proc/device-tree/hypervisor/compatible
@@ -0,0 +1 @@
+xen,xen
diff --git a/tests/xen-arm/proc/self/status b/tests/xen-arm/proc/self/status
new file mode 100644
index 0000000..751f5e7
--- /dev/null
+++ b/tests/xen-arm/proc/self/status
@@ -0,0 +1,41 @@
+Name:	cat
+State:	R (running)
+Tgid:	8307
+Ngid:	0
+Pid:	8307
+PPid:	1415
+TracerPid:	0
+Uid:	0	0	0	0
+Gid:	0	0	0	0
+FDSize:	256
+Groups:	
+VmPeak:	  109696 kB
+VmSize:	  109696 kB
+VmLck:	       0 kB
+VmPin:	       0 kB
+VmHWM:	     832 kB
+VmRSS:	     832 kB
+VmData:	     320 kB
+VmStk:	     256 kB
+VmExe:	      64 kB
+VmLib:	    1536 kB
+VmPTE:	     192 kB
+VmSwap:	       0 kB
+Threads:	1
+SigQ:	0/5821
+SigPnd:	0000000000000000
+ShdPnd:	0000000000000000
+SigBlk:	0000000000000000
+SigIgn:	0000000000000000
+SigCgt:	0000000000000000
+CapInh:	0000000000000000
+CapPrm:	0000003fffffffff
+CapEff:	0000003fffffffff
+CapBnd:	0000003fffffffff
+Seccomp:	0
+Cpus_allowed:	ff
+Cpus_allowed_list:	0-7
+Mems_allowed:	1
+Mems_allowed_list:	0
+voluntary_ctxt_switches:	1
+nonvoluntary_ctxt_switches:	1
diff --git a/tests/xen-arm/sbin/dmidecode b/tests/xen-arm/sbin/dmidecode
new file mode 100755
index 0000000..e53c12f
--- /dev/null
+++ b/tests/xen-arm/sbin/dmidecode
@@ -0,0 +1,2 @@
+#!/bin/sh -
+exit 1
diff --git a/tests/xen-arm/sbin/uname b/tests/xen-arm/sbin/uname
new file mode 100755
index 0000000..bd33a2d
--- /dev/null
+++ b/tests/xen-arm/sbin/uname
@@ -0,0 +1,2 @@
+#!/bin/sh -
+echo aarch64
diff --git a/tests/xen-arm/sbin/virt-what-cpuid-helper b/tests/xen-arm/sbin/virt-what-cpuid-helper
new file mode 100755
index 0000000..77a6692
--- /dev/null
+++ b/tests/xen-arm/sbin/virt-what-cpuid-helper
@@ -0,0 +1,2 @@
+#!/bin/sh -
+# nothing
diff --git a/virt-what.in b/virt-what.in
index fb399be..a5ed33e 100644
--- a/virt-what.in
+++ b/virt-what.in
@@ -1,4 +1,4 @@
-#!/bin/bash -
+#!/bin/sh -
 # @configure_input@
 # Copyright (C) 2008-2011 Red Hat Inc.
 #
@@ -30,15 +30,20 @@
 set -u
 root=''
 skip_qemu_kvm=false
+skip_lkvm=false
 
 VERSION="@VERSION@"
 
-function fail {
+have_cpuinfo () {
+    test -e "${root}/proc/cpuinfo"
+}
+
+fail () {
     echo "virt-what: $1" >&2
     exit 1
 }
 
-function usage {
+usage () {
     echo "virt-what [options]"
     echo "Options:"
     echo "  --help          Display this help"
@@ -47,24 +52,21 @@ function usage {
 }
 
 # Handle the command line arguments, if any.
-
-TEMP=$(getopt -o v --long help --long version --long test-root: -n 'virt-what' -- "$@")
-if [ $? != 0 ]; then exit 1; fi
-eval set -- "$TEMP"
-
-while true; do
+while test $# -gt 0; do
     case "$1" in
 	--help) usage ;;
-        --test-root)
+        --test-root=*)
             # Deliberately undocumented: used for 'make check'.
-            root="$2"
-            shift 2
+            root=$(echo "$1" | sed 's/.*=//')
+            shift 1
+            test -z "$root" && fail "--test-root option requires a value"
             ;;
 	-v|--version) echo "$VERSION"; exit 0 ;;
 	--) shift; break ;;
-	*) fail "internal error ($1)" ;;
+	*) fail "unrecognized option '$1'";;
     esac
 done
+test $# -gt 0 && fail "extra operand '$1'"
 
 # Add /sbin and /usr/sbin to the path so we can find system
 # binaries like dmidecode.
@@ -74,11 +76,18 @@ exec_prefix=@exec_prefix@
 PATH="${root}@libexecdir@:${root}/sbin:${root}/usr/sbin:${PATH}"
 
 # Check we're running as root.
+EFFUID=$(id -u) || fail "failed to get current user id"
 
-if [ "x$root" = "x" ] && [ "$EUID" -ne 0 ]; then
+if [ "x$root" = "x" ] && [ "$EFFUID" -ne 0 ]; then
     fail "this script must be run as root"
 fi
 
+# Try to locate the CPU-ID helper program
+CPUID_HELPER=$(which virt-what-cpuid-helper 2>/dev/null)
+if [ -z "$CPUID_HELPER" ] ; then
+    fail "virt-what-cpuid-helper program not found in \$PATH"
+fi
+
 # Many fullvirt hypervisors give an indication through CPUID.  Use the
 # helper program to get this information.
 
@@ -94,7 +103,7 @@ dmi=$(LANG=C dmidecode 2>&1)
 # Architecture.
 # Note for the purpose of testing, we only call uname with -p option.
 
-arch=$(uname -p)
+arch=$(uname -p | sed -e 's/i.86/i386/' | sed -e 's/arm.*/arm/')
 
 # Check for VMware.
 # cpuid check added by Chetan Loke.
@@ -145,7 +154,8 @@ if [ -e "${root}/proc/1/environ" ] &&
 fi
 
 # Check for Linux-VServer
-if cat "${root}/proc/self/status" | grep -q "VxID: [0-9]*"; then
+if test -e "${root}/proc/self/status" \
+   && 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
@@ -156,12 +166,13 @@ fi
 
 # Check for UML.
 # Added by Laurent Léonard.
-if grep -q 'UML' "${root}/proc/cpuinfo"; then
+if have_cpuinfo && grep -q 'UML' "${root}/proc/cpuinfo"; then
     echo uml
 fi
 
 # Check for IBM PowerVM Lx86 Linux/x86 emulator.
-if grep -q '^vendor_id.*PowerVM Lx86' "${root}/proc/cpuinfo"; then
+if have_cpuinfo && grep -q '^vendor_id.*PowerVM Lx86' "${root}/proc/cpuinfo"
+then
     echo powervm_lx86
 fi
 
@@ -172,7 +183,7 @@ if echo "$dmi" | grep -q 'Manufacturer.*HITACHI' &&
 fi
 
 # Check for IBM SystemZ.
-if grep -q '^vendor_id.*IBM/S390' "${root}/proc/cpuinfo"; then
+if have_cpuinfo && grep -q '^vendor_id.*IBM/S390' "${root}/proc/cpuinfo"; then
     echo ibm_systemz
     if [ -f "${root}/proc/sysinfo" ]; then
         if grep -q 'VM.*Control Program.*z/VM' "${root}/proc/sysinfo"; then
@@ -205,12 +216,20 @@ elif [ -d "${root}/proc/xen" ]; then
         echo xen-domU
     fi
     skip_qemu_kvm=true
+    skip_lkvm=true
 elif [ -f "${root}/sys/hypervisor/type" ] &&
     grep -q "xen" "${root}/sys/hypervisor/type"; then
     # Ordinary kernel with pv_ops.  There does not seem to be
     # enough information at present to tell whether this is dom0
     # or domU.  XXX
     echo xen
+elif [ "$arch" = "arm" ] || [ "$arch" = "aarch64" ]; then
+    if [ -d "${root}/proc/device-tree/hypervisor" ] &&
+        grep -q "xen" "${root}/proc/device-tree/hypervisor/compatible"; then
+        echo xen
+        skip_qemu_kvm=true
+        skip_lkvm=true
+    fi
 elif [ "$arch" = "ia64" ]; then
     if [ -d "${root}/sys/bus/xen" -a ! -d "${root}/sys/bus/xen-backend" ]; then
         # PV-on-HVM drivers installed in a Xen guest.
@@ -238,6 +257,14 @@ fi
 if ! "$skip_qemu_kvm"; then
     if [ "$cpuid" = "KVMKVMKVM" ]; then
 	echo kvm
+    elif [ "$arch" = "arm" ] || [ "$arch" = "aarch64" ]; then
+        if [ -d "${root}/proc/device-tree" ] &&
+            ls "${root}/proc/device-tree" | grep -q "fw-cfg"; then
+            # We don't have enough information to determine if we're
+            # using KVM acceleration or not.
+            echo qemu
+            skip_lkvm=true
+        fi
     else
         # XXX This is known to fail for qemu with the explicit -cpu
         # option, since /proc/cpuinfo will not contain the QEMU
@@ -248,3 +275,19 @@ if ! "$skip_qemu_kvm"; then
 	fi
     fi
 fi
+
+if ! "$skip_lkvm"; then
+    if [ "$cpuid" = "LKVMLKVMLKVM" ]; then
+        echo lkvm
+    elif [ "$arch" = "arm" ] || [ "$arch" = "aarch64" ]; then
+        if [ -d "${root}/proc/device-tree" ] &&
+            grep -q "dummy-virt" "${root}/proc/device-tree/compatible"; then
+            echo lkvm
+	fi
+    fi
+fi
+
+# Check for Docker.
+if [ -f "${root}/.dockerinit" ]; then
+	echo docker
+fi
diff --git a/virt-what.pod b/virt-what.pod
index bff2998..0e2e8a5 100644
--- a/virt-what.pod
+++ b/virt-what.pod
@@ -25,6 +25,12 @@ don't know about or cannot detect.
 
 =over 4
 
+=item B<docker>
+
+This is a Docker container.
+
+Status: confirmed by Charles Nguyen
+
 =item B<hyperv>
 
 This is Microsoft Hyper-V hypervisor.
@@ -95,6 +101,14 @@ instead.
 
 Status: confirmed by RWMJ.
 
+=item B<lkvm>
+
+This guest is running on the KVM hypervisor using hardware
+acceleration, and the userspace component of the hypervisor
+is lkvm (a.k.a kvmtool).
+
+Status: contributed by Andrew Jones
+
 =item B<openvz>
 
 The guest appears to be running inside an OpenVZ or Virtuozzo
@@ -113,7 +127,7 @@ Status: contributed by Justin Clift
 
 The guest is running inside IBM PowerVM Lx86 Linux/x86 emulator.
 
-Status: data originally supplied by Jeffrey Scheel, confimed by
+Status: data originally supplied by Jeffrey Scheel, confirmed by
 Yufang Zhang and RWMJ
 
 =item B<qemu>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-libvirt/virt-what.git



More information about the Pkg-libvirt-commits mailing list