[libvirt] [PATCH] esx: Add VNC support

2010-01-16 Thread Matthias Bolte
* src/conf/domain_conf.c: add defaults for the video device
* src/esx/esx_vmx.[ch]: add VNC support to the VMX handling
* tests/vmx2xmltest.c, tests/xml2vmxtest.c: add tests for the VNC support
---
 src/conf/domain_conf.c |5 +
 src/esx/esx_vmx.c  |  146 +++-
 src/esx/esx_vmx.h  |6 +
 tests/vmx2xmldata/vmx2xml-graphics-vnc.vmx |6 +
 tests/vmx2xmldata/vmx2xml-graphics-vnc.xml |   17 +++
 tests/vmx2xmltest.c|4 +-
 tests/xml2vmxdata/xml2vmx-graphics-vnc.vmx |   11 ++
 tests/xml2vmxdata/xml2vmx-graphics-vnc.xml |   11 ++
 tests/xml2vmxtest.c|2 +
 9 files changed, 203 insertions(+), 5 deletions(-)
 create mode 100644 tests/vmx2xmldata/vmx2xml-graphics-vnc.vmx
 create mode 100644 tests/vmx2xmldata/vmx2xml-graphics-vnc.xml
 create mode 100644 tests/xml2vmxdata/xml2vmx-graphics-vnc.vmx
 create mode 100644 tests/xml2vmxdata/xml2vmx-graphics-vnc.xml

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 126e7e1..5c427fb 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -2490,6 +2490,8 @@ virDomainVideoDefaultRAM(virDomainDefPtr def,
 case VIR_DOMAIN_VIDEO_TYPE_VMVGA:
 if (def-virtType == VIR_DOMAIN_VIRT_VBOX)
 return 8 * 1024;
+else if (def-virtType == VIR_DOMAIN_VIRT_VMWARE)
+return 4 * 1024;
 else
 return 9 * 1024;
 break;
@@ -2523,6 +2525,9 @@ virDomainVideoDefaultType(virDomainDefPtr def)
 case VIR_DOMAIN_VIRT_VBOX:
 return VIR_DOMAIN_VIDEO_TYPE_VBOX;
 
+case VIR_DOMAIN_VIRT_VMWARE:
+return VIR_DOMAIN_VIDEO_TYPE_VMVGA;
+
 default:
 return -1;
 }
diff --git a/src/esx/esx_vmx.c b/src/esx/esx_vmx.c
index 8e016df..777a60a 100644
--- a/src/esx/esx_vmx.c
+++ b/src/esx/esx_vmx.c
@@ -731,7 +731,7 @@ esxVMX_ParseConfig(esxVI_Context *ctx, const char *vmx,
 char *guestOS = NULL;
 int controller;
 int port;
-int present;
+int present; // boolean
 char *scsi_virtualDev = NULL;
 int id;
 
@@ -967,7 +967,20 @@ esxVMX_ParseConfig(esxVI_Context *ctx, const char *vmx,
 def-localtime*/
 
 /* def:graphics */
-/* FIXME */
+if (VIR_ALLOC_N(def-graphics, 1)  0) {
+virReportOOMError(NULL);
+goto failure;
+}
+
+def-ngraphics = 0;
+
+if (esxVMX_ParseVNC(conf, def-graphics[def-ngraphics])  0) {
+goto failure;
+}
+
+if (def-graphics[def-ngraphics] != NULL) {
+++def-ngraphics;
+}
 
 /* def:disks: 4 * 15 scsi + 2 * 2 ide + 2 floppy = 66 */
 if (VIR_ALLOC_N(def-disks, 66)  0) {
@@ -1155,6 +1168,70 @@ esxVMX_ParseConfig(esxVI_Context *ctx, const char *vmx,
 
 
 int
+esxVMX_ParseVNC(virConfPtr conf, virDomainGraphicsDefPtr *def)
+{
+int enabled = 0; // boolean
+long long port = 0;
+
+if (def == NULL || *def != NULL) {
+ESX_ERROR(VIR_ERR_INTERNAL_ERROR, Invalid argument);
+return -1;
+}
+
+if (esxUtil_GetConfigBoolean(conf, RemoteDisplay.vnc.enabled,
+ enabled, 0, 1)  0) {
+return -1;
+}
+
+if (! enabled) {
+return 0;
+}
+
+if (VIR_ALLOC(*def)  0) {
+virReportOOMError(NULL);
+goto failure;
+}
+
+(*def)-type = VIR_DOMAIN_GRAPHICS_TYPE_VNC;
+
+if (esxUtil_GetConfigLong(conf, RemoteDisplay.vnc.port,
+  port, -1, 1)  0 ||
+esxUtil_GetConfigString(conf, RemoteDisplay.vnc.ip,
+(*def)-data.vnc.listenAddr, 1)  0 ||
+esxUtil_GetConfigString(conf, RemoteDisplay.vnc.keymap,
+(*def)-data.vnc.keymap, 1)  0 ||
+esxUtil_GetConfigString(conf, RemoteDisplay.vnc.password,
+(*def)-data.vnc.passwd, 1)  0) {
+goto failure;
+}
+
+if (port  0) {
+VIR_WARN0(VNC is enabled but VMX entry 'RemoteDisplay.vnc.port' 
+  is missing, the VNC port is unknown);
+
+(*def)-data.vnc.port = 0;
+(*def)-data.vnc.autoport = 1;
+} else {
+if (port  5900 || port  5964) {
+VIR_WARN(VNC port %lld it out of [5900..5964] range, port);
+}
+
+(*def)-data.vnc.port = port;
+(*def)-data.vnc.autoport = 0;
+}
+
+return 0;
+
+  failure:
+virDomainGraphicsDefFree(*def);
+*def = NULL;
+
+return -1;
+}
+
+
+
+int
 esxVMX_ParseSCSIController(virConfPtr conf, int controller, int *present,
char **virtualDev)
 {
@@ -2195,7 +2272,7 @@ esxVMX_FormatConfig(esxVI_Context *ctx, virDomainDefPtr 
def,
   (int)(def-memory / 1024));
 }
 
-/* vmx:numvcpus - def:vcpus */
+/* def:vcpus - vmx:numvcpus */
 if (def-vcpus = 0 || (def-vcpus % 2 != 0  def-vcpus != 1)) {
 ESX_ERROR(VIR_ERR_INTERNAL_ERROR,
   Expecting domain XML entry 

[libvirt] [PATCH] esx: Make the domain part of the hostname optional

2010-01-16 Thread Matthias Bolte
Before the driver assumed that there is always a domain part. That's
not true. Now the domain part is handled as optional.
---
 src/esx/esx_driver.c |   17 ++---
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index 4ed4533..aeb3d07 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -773,14 +773,17 @@ esxGetHostname(virConnectPtr conn)
 }
 
 if (domainName == NULL || strlen(domainName)  1) {
-ESX_ERROR(VIR_ERR_INTERNAL_ERROR,
-  Missing or empty 'domainName' property);
-goto failure;
-}
+complete = strdup(hostName);
 
-if (virAsprintf(complete, %s.%s, hostName, domainName)  0) {
-virReportOOMError(NULL);
-goto failure;
+if (complete == NULL) {
+virReportOOMError(NULL);
+goto failure;
+}
+} else {
+if (virAsprintf(complete, %s.%s, hostName, domainName)  0) {
+virReportOOMError(NULL);
+goto failure;
+}
 }
 
   cleanup:
-- 
1.6.3.3

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] Cannot use console with 0.7.5, error: internal error no assigned pty for device serial0

2010-01-16 Thread Marc Haber
Hi,

On Fri, Jan 15, 2010 at 07:51:12PM +0100, Marc Haber wrote:
 On Fri, Jan 15, 2010 at 05:45:27PM +0100, Marc Haber wrote:
  Took that patch, applied it to Debian's 0.7.5-4 source package, built
  the package, installed it, same error.
 
 Looks to me like the issue is still present in git head.

git bisect shows the first bad commit being
60e8977fdd97e0952174773f17f8fa6fca664223
Author: Matthew Booth mbo...@redhat.com
Date:   Mon Dec 14 10:50:01 2009 +0100

Get QEMU pty paths from the monitor

This is not a big surprise ;)

I'm going back to 0.7.4 for the mean time, but am prepared to test
things over the weekend. I will only have intermittent access to a
KVM-able host starting monday though, so it would be good if we sorted
this out over the weekend.

Greetings
Marc

-- 
-
Marc Haber | I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things.Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 3221 2323190

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [PATCH 33/34] Auto-assign PCI addresses

2010-01-16 Thread Daniel P. Berrange
On Fri, Jan 15, 2010 at 09:05:44PM +0100, Daniel Veillard wrote:
 On Fri, Jan 08, 2010 at 05:23:29PM +, Daniel P. Berrange wrote:
  Instead of relying on QEMU to assign PCI addresses and then querying
  them with 'info pci', manually assign all PCI addresses before starting
  the guest.  These addresses are not stable across reboots. That will
  come in a later patch
  
  NB, the PIIX3 (IDE, FDC, ISA-Bridge) will always have slot 1 and
  VGA will always have slot 2. We declare the Virtio Balloon gets
  slot 3, and then all remaining slots are for configured devices.
 
   Just wondering, how many slot is there, and shouldn't we try to
 keep a couple of reserved slots there for future needs, not important
 now but if we want to make them stable later that may be needed then

We're quite short on PCI slots currently - QEMU only has a single PCI domain
with a single PCI bus. That gives 32 slots max. Since NICs and Virtio Disks
each require 1 slot per device I don't want to reserve any more than are
absolutely neccessary. We need to encourage QEMU developers to add further
PCI buses or domains which would give us 100's of slots

Or encourage them to create a VirtIO disk controller, so can we make more
efficient usage of slots.

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [PATCH 31/34] Add support for explicit -sdl flag to QEMU

2010-01-16 Thread Daniel P. Berrange
On Fri, Jan 15, 2010 at 09:00:36PM +0100, Daniel Veillard wrote:
 On Fri, Jan 08, 2010 at 05:23:27PM +, Daniel P. Berrange wrote:
  Not all QEMU builds default to SDL graphics for their display.
  Newer QEMU now has an explicit -sdl flag, which we can use to
  explicitly request SDL intead of relying on the default. This
  protects libvirt against unexpected changes in graphics default
  
 
   if (def-nvideos) {
  diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h
  index 174d397..4a862d1 100644
  --- a/src/qemu/qemu_conf.h
  +++ b/src/qemu/qemu_conf.h
  @@ -79,6 +79,7 @@ enum qemud_cmd_flags {
   QEMUD_CMD_FLAG_MONITOR_JSON  = (1  24), /* JSON mode for monitor */
   QEMUD_CMD_FLAG_BALLOON   = (1  25), /* -balloon available */
   QEMUD_CMD_FLAG_DEVICE= (1  26), /* Is the new -chardev arg 
  available */
  +QEMUD_CMD_FLAG_SDL   = (1  27), /* Is the new -sdl arg 
  available */
   };
 
   Aren't we getting close to the 32 options limits ?

It doesn't really matter as we can trivially just make it an int64, or
turn it into a plain enum, instead of bitflags. This isn't exposed in
the API anywhere

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] Cannot use console with 0.7.5, error: internal error no assigned pty for device serial0

2010-01-16 Thread Marc Haber
Hi,

On Fri, Jan 15, 2010 at 03:13:25PM +0100, Marc Haber wrote:
 $ dpkg --list *kvm*
 Desired=Unknown/Install/Remove/Purge/Hold
 | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
 |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
 ||/ Name   VersionDescription
 +++-==-==-
 ii  kvm72+dfsg-2  Full virtualization on x86 hardware

This turned out to be the problem, libvirt didn't handle KVM 72's
output correctly. photron helped identifying this issue on IRC, which
I really appreciate, and there is a patch available to fix libvirt
0.7.5 with old KVM again.

The real issue was that Debian has renamed the kvm package to
qemu-kvm, which I didn't notice, and continued using an ancient kvm
version. qemu-kvm from Debian unstable works fine with libvirt 0.7.5.

Greetings
Marc

-- 
-
Marc Haber | I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things.Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 3221 2323190

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH] qemu: Use log output for pty assignment if 'info chardev' is unavailable

2010-01-16 Thread Matthias Bolte
qemudFindCharDevicePTYsMonitor reports an error if 'info chardev' didn't
provide information for a requested device, even if the log output parsing
had found the pty path for that device. This makes pty assignment fail for
older QEMU/KVM versions. For example KVM 72 on Debian doesn't support
'info chardev', so qemuMonitorTextGetPtyPaths cannot parse any useful
information and the hash for device-id-to-pty-path mapping stays empty.

Make qemudFindCharDevicePTYsMonitor report an error only if the log output
parsing and the 'info chardev' parsing failed to provide the pty path.
---
 src/qemu/qemu_driver.c |   14 +++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index d13119f..783d9fc 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -1428,9 +1428,17 @@ qemudFindCharDevicePTYsMonitor(virConnectPtr conn,
   \
 const char *path = (const char *) virHashLookup(paths, id);   \
 if (path == NULL) {   \
-qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,\
- _(no assigned pty for device %s), id); \
-return -1;\
+if (chr-data.file.path == NULL) {\
+/* neither the log output nor 'info chardev' had a */ \
+/* pty path for this chardev, report an error */  \
+qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, 
\
+ _(no assigned pty for device %s), id);  
\
+return -1; 
\
+} else {  \
+/* 'info chardev' had no pty path for this chardev, */\
+/* but the log output had, so we're fine */   \
+continue; \
+} \
 } \
   \
 VIR_FREE(chr-data.file.path);\
-- 
1.6.3.3

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH 1/4] Avoid creating special ./configure options for htmldir.

2010-01-16 Thread Diego Elio Pettenò
Request use of autoconf 2.63 or later, so that --htmldir (and the htmldir
variable) are defined. This makes deciding where to install the HTML
documentation more in line with the autoconf standard and other packages.
---
 configure.in |   12 +---
 docs/Makefile.am |   14 +++---
 2 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/configure.in b/configure.in
index 012a96f..06ab82c 100644
--- a/configure.in
+++ b/configure.in
@@ -1,4 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
+AC_PREREQ([2.63])
 
 AC_INIT([libvirt], [0.7.5])
 AC_CONFIG_SRCDIR([src/libvirt.c])
@@ -180,17 +181,6 @@ if test -n $MODPROBE; then
 [Location or name of the modprobe program])
 fi
 
-dnl Specific dir for HTML output ?
-AC_ARG_WITH([html-dir], [AC_HELP_STRING([--with-html-dir=path],
-[path to base html directory, default $datadir/doc/html])],
-[HTML_DIR=$withval], [HTML_DIR='$(datadir)/doc'])
-
-AC_ARG_WITH([html-subdir], [AC_HELP_STRING([--with-html-subdir=path],
-[directory used under html-dir, default $PACKAGE-$VERSION/html])],
-[test x$withval != x  HTML_DIR=$HTML_DIR/$withval],
-[HTML_DIR=$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html])
-AC_SUBST([HTML_DIR])
-
 dnl if --prefix is /usr, don't use /usr/var for localstatedir
 dnl or /usr/etc for sysconfdir
 dnl as this makes a lot of things break in testing situations
diff --git a/docs/Makefile.am b/docs/Makefile.am
index c19e963..d7d6779 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -142,22 +142,22 @@ maintainer-clean-local: clean-local
 rebuild: api all
 
 install-data-local:
-   $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
+   $(mkinstalldirs) $(DESTDIR)$(htmldir)
-...@install@ -m 0644 $(srcdir)/FAQ.html \
-   $(srcdir)/Libxml2-Logo-90x34.gif $(DESTDIR)$(HTML_DIR)
-   $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/html
+   $(srcdir)/Libxml2-Logo-90x34.gif $(DESTDIR)$(htmldir)
+   $(mkinstalldirs) $(DESTDIR)$(htmldir)/html
for h in $(apihtml); do \
- $(INSTALL) -m 0644 $(srcdir)/$$h $(DESTDIR)$(HTML_DIR)/html; done
+ $(INSTALL) -m 0644 $(srcdir)/$$h $(DESTDIR)$(htmldir)/html; done
for p in $(apipng); do \
- $(INSTALL) -m 0644 $(srcdir)/$$p $(DESTDIR)$(HTML_DIR)/html; done
+ $(INSTALL) -m 0644 $(srcdir)/$$p $(DESTDIR)$(htmldir)/html; done
$(mkinstalldirs) $(DESTDIR)$(DEVHELP_DIR)
for file in $(devhelphtml) $(devhelppng) $(devhelpcss); do \
@INSTALL@ -m 0644 $(srcdir)/$${file} $(DESTDIR)$(DEVHELP_DIR) ; \
done
 
 uninstall-local:
-   for h in $(apihtml); do rm $(DESTDIR)$(HTML_DIR)/$$h; done
-   for p in $(apipng); do rm $(DESTDIR)$(HTML_DIR)/$$p; done
+   for h in $(apihtml); do rm $(DESTDIR)$(htmldir)/$$h; done
+   for p in $(apipng); do rm $(DESTDIR)$(htmldir)/$$p; done
for f in $(devhelphtml) $(devhelppng) $(devhelpcss); do \
  rm $(DESTDIR)$(DEVHELP_DIR)/$$(basename $$f); \
done
-- 
1.6.6

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH 3/4] Change detection of xen so that it's actually automatic rather than forced.

2010-01-16 Thread Diego Elio Pettenò
This ensures that ./configure will work fine if xen development packages
are not around, rather than fail. When passing ./configure --with-xen, the
lack of xen development packages become fatal.
---
 configure.in |   60 -
 1 files changed, 34 insertions(+), 26 deletions(-)

diff --git a/configure.in b/configure.in
index b03b8e3..18b5429 100644
--- a/configure.in
+++ b/configure.in
@@ -195,7 +195,7 @@ fi
 
 dnl Allow to build without Xen, QEMU/KVM, test or remote driver
 AC_ARG_WITH([xen],
-  AS_HELP_STRING([--with-xen], [add XEN support 
@:@default=yes@:@]),[],[with_xen=yes])
+  AS_HELP_STRING([--with-xen], [add XEN support 
@:@default=auto@:@]),[],[with_xen=check])
 AC_ARG_WITH([xen-inotify],
   AS_HELP_STRING([--with-xen-inotify], [add XEN inotify support 
@:@default=yes@:@]),[],[with_xen_inotify=check])
 AC_ARG_WITH([qemu],
@@ -324,6 +324,8 @@ if test $with_libvirtd = yes ; then
 fi
 AM_CONDITIONAL([WITH_LIBVIRTD], [test $with_libvirtd = yes])
 
+old_LIBS=$LIBS
+old_CFLAGS=$CFLAGS
 XEN_LIBS=
 XEN_CFLAGS=
 dnl search for the Xen store library
@@ -333,52 +335,58 @@ if test $with_xen != no ; then
 XEN_LIBS=-L$with_xen/lib64 -L$with_xen/lib
 fi
 fail=0
-old_LIBS=$LIBS
-old_CFLAGS=$CFLAGS
 CFLAGS=$CFLAGS $XEN_CFLAGS
 LIBS=$LIBS $XEN_LIBS
 AC_CHECK_LIB([xenstore], [xs_read], [
with_xen=yes
XEN_LIBS=$XEN_LIBS -lxenstore
],[
-   if test $with_xen = check ; then
-   with_xen=no
-   else
-   with_xen=no
+   if test $with_xen = yes; then
fail=1
fi
+   with_xen=no
])
+fi
 
-test $fail = 1 
-  AC_MSG_ERROR([You must install the Xen development package to compile 
Xen driver with -lxenstore])
-
+if test $with_xen != no ; then
 AC_CHECK_HEADERS([xen/xen.h xen/version.h xen/dom0_ops.h],,[
-   AC_MSG_ERROR([Cannot find standard Xen headers. Is xen-devel 
installed?])
+   if test $with_xen = yes; then
+   fail=1
+   fi
+   with_xen=no
 ],
 [#include stdio.h
 #include stdint.h
 ])
+fi
 
+if test $with_xen != no ; then
 dnl Search for the location of xen/{linux,sys}/privcmd.h.
-AC_CHECK_HEADERS([xen/sys/privcmd.h],,[
-   AC_CHECK_HEADERS([xen/linux/privcmd.h],,[
-   AC_MSG_ERROR([Cannot find header file xen/linux/privcmd.h or 
xen/sys/privcmd.h.  Is xen-devel installed?])
-   ],
-[#include stdio.h
-#include stdint.h
-#include xen/xen.h
-])
-],
-[#include stdio.h
-#include stdint.h
-#include xen/xen.h
-])
-LIBS=$old_LIBS
-CFLAGS=$old_CFLAGS
+found=
+AC_CHECK_HEADERS([xen/sys/privcmd.h xen/linux/privcmd.h], [found=yes; 
break;], [],
+   [#include stdio.h
+#include stdint.h
+#include xen/xen.h
+   ])
+if test x$found != xyes; then
+if test $with_xen = yes; then
+fail=1
+fi
+with_xen=no
+fi
 fi
+
+LIBS=$old_LIBS
+CFLAGS=$old_CFLAGS
+
+if test $fail = 1; then
+AC_MSG_ERROR([You must install the Xen development package to compile Xen 
driver with -lxenstore])
+fi
+
 if test $with_xen = yes; then
 AC_DEFINE_UNQUOTED([WITH_XEN], 1, [whether Xen driver is enabled])
 fi
+
 AM_CONDITIONAL([WITH_XEN], [test $with_xen = yes])
 AC_SUBST([XEN_CFLAGS])
 AC_SUBST([XEN_LIBS])
-- 
1.6.6

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH 0/4] A bit of configure clear-up

2010-01-16 Thread Diego Elio Pettenò
Since on the whole it seems like the configure could see some cleanup, as
it seem to use lots of older constructs and repeated code, I tried doing
some basic cleaning.

My changes also require autoconf-2.63… it could be something older as well,
but 2.63 is new enough I'd say. If nobody has reasons for 2.59
compatibility to stick around, it would probably improve a lot.

HTH!
-- 
Diego

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

[libvirt] [PATCH 4/4] Remove definition of m4_foreach_w for autoconf 2.59.

2010-01-16 Thread Diego Elio Pettenò
Depends on the previous patch requiring autoconf 2.63 or later.
---
 configure.in |7 ---
 1 files changed, 0 insertions(+), 7 deletions(-)

diff --git a/configure.in b/configure.in
index 18b5429..385c48b 100644
--- a/configure.in
+++ b/configure.in
@@ -49,13 +49,6 @@ AC_PROG_CPP
 
 AC_OBJEXT
 
-dnl gl_INIT uses m4_foreach_w, yet that is not defined in autoconf-2.59.
-dnl In order to accommodate developers with such old tools, here's a
-dnl replacement definition.
-m4_ifndef([m4_foreach_w],
-  [m4_define([m4_foreach_w],
-[m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
-
 gl_EARLY
 gl_INIT
 
-- 
1.6.6

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH 2/4] Standardise options reporting on ./configure --help

2010-01-16 Thread Diego Elio Pettenò
Always use AS_HELP_STRING to define the help string for the options, fix
proper quoting and quadrigraphs for brackets, and always use the
[default=$foo] syntax to show the default (in line with autoconf's own
defaults).
---
 configure.in |   98 +-
 1 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/configure.in b/configure.in
index 06ab82c..b03b8e3 100644
--- a/configure.in
+++ b/configure.in
@@ -195,33 +195,33 @@ fi
 
 dnl Allow to build without Xen, QEMU/KVM, test or remote driver
 AC_ARG_WITH([xen],
-[  --with-xen  add XEN support (on)],[],[with_xen=yes])
+  AS_HELP_STRING([--with-xen], [add XEN support 
@:@default=yes@:@]),[],[with_xen=yes])
 AC_ARG_WITH([xen-inotify],
-[  --with-xen-inotify  add XEN inotify support 
(on)],[],[with_xen_inotify=check])
+  AS_HELP_STRING([--with-xen-inotify], [add XEN inotify support 
@:@default=yes@:@]),[],[with_xen_inotify=check])
 AC_ARG_WITH([qemu],
-[  --with-qemu add QEMU/KVM support (on)],[],[with_qemu=yes])
+  AS_HELP_STRING([--with-qemu], [add QEMU/KVM support 
@:@default=yes@:@]),[],[with_qemu=yes])
 AC_ARG_WITH([uml],
-[  --with-uml  add UML support (on)],[],[with_uml=check])
+  AS_HELP_STRING([--with-uml], [add UML support 
@:@default=yes@:@]),[],[with_uml=check])
 AC_ARG_WITH([openvz],
-[  --with-openvz   add OpenVZ support (on)],[],[with_openvz=yes])
+  AS_HELP_STRING([--with-openvz], [add OpenVZ support 
@:@default=yes@:@]),[],[with_openvz=yes])
 AC_ARG_WITH([libssh2],
-[  --with-libssh2=[PFX]   libssh2 location],[],[with_libssh2=yes])
+  AS_HELP_STRING([--with-libssh2=@:@PFX@:@], [libssh2 
location]),[],[with_libssh2=yes])
 AC_ARG_WITH([phyp],
-[  --with-phyp=[PFX] add PHYP support (on)],[],[with_phyp=check])
+  AS_HELP_STRING([--with-phyp=@:@PFX@:@], [add PHYP support 
@:@default=yes@:@]),[],[with_phyp=check])
 AC_ARG_WITH([vbox],
-[  --with-vbox add VirtualBox support (on)],[],[with_vbox=yes])
+  AS_HELP_STRING([--with-vbox], [add VirtualBox support 
@:@default=yes@:@]),[],[with_vbox=yes])
 AC_ARG_WITH([lxc],
-[  --with-lxc  add Linux Container support 
(on)],[],[with_lxc=check])
+  AS_HELP_STRING([--with-lxc], [add Linux Container support 
@:@default=yes@:@]),[],[with_lxc=check])
 AC_ARG_WITH([one],
-[  --with-one  add ONE support (on)],[],[with_one=check])
+  AS_HELP_STRING([--with-one], [add ONE support 
@:@default=yes@:@]),[],[with_one=check])
 AC_ARG_WITH([esx],
-[  --with-esx  add ESX support (on)],[],[with_esx=check])
+  AS_HELP_STRING([--with-esx], [add ESX support 
@:@default=yes@:@]),[],[with_esx=check])
 AC_ARG_WITH([test],
-[  --with-test add test driver support (on)],[],[with_test=yes])
+  AS_HELP_STRING([--with-test], [add test driver support 
@:@default=yes@:@]),[],[with_test=yes])
 AC_ARG_WITH([remote],
-[  --with-remote   add remote driver support 
(on)],[],[with_remote=yes])
+  AS_HELP_STRING([--with-remote], [add remote driver support 
@:@default=yes@:@]),[],[with_remote=yes])
 AC_ARG_WITH([libvirtd],
-[  --with-libvirtd add libvirtd support (on)],[],[with_libvirtd=yes])
+  AS_HELP_STRING([--with-libvirtd], [add libvirtd support 
@:@default=yes@:@]),[],[with_libvirtd=yes])
 
 dnl
 dnl specific tests to setup DV devel environments with debug etc ...
@@ -235,7 +235,7 @@ AC_SUBST([STATIC_BINARIES])
 
 dnl --enable-debug=(yes|no)
 AC_ARG_ENABLE([debug],
-  [AC_HELP_STRING([--enable-debug=no/yes],
+  [AS_HELP_STRING([--enable-debug=@:@no|yes@:@],
  [enable debugging output])],[],[enable_debug=yes])
 AM_CONDITIONAL([ENABLE_DEBUG], test x$enable_debug = xyes)
 if test x$enable_debug = xyes; then
@@ -244,7 +244,7 @@ fi
 
 
 AC_MSG_CHECKING([where to write libvirtd PID file])
-AC_ARG_WITH([remote-pid-file], 
[AC_HELP_STRING([--with-remote-pid-file=[pidfile|none]], [PID file for 
libvirtd])])
+AC_ARG_WITH([remote-pid-file], 
[AS_HELP_STRING([--with-remote-pid-file=@:@pidfile|none@:@], [PID file for 
libvirtd])])
 if test x$with_remote_pid_file == x ; then
REMOTE_PID_FILE=$localstatedir/run/libvirtd.pid
 elif test x$with_remote_pid_file == xnone ; then
@@ -260,8 +260,8 @@ dnl init script flavor
 dnl
 AC_MSG_CHECKING([for init script flavor])
 AC_ARG_WITH([init-script],
-[AC_HELP_STRING([--with-init-script=[redhat|auto|none]],
-[Style of init script to install (defaults to auto)])])
+[AS_HELP_STRING([--with-init-script=@:@redhat|auto|none@:@],
+[Style of init script to install @:@default=auto@:@])])
 if test x$with_init_script = x -o x$with_init_script = xauto; then
 if test -f /etc/redhat-release ; then
 with_init_script=redhat
@@ -274,8 +274,8 @@ AC_MSG_RESULT($with_init_script)
 
 dnl RHEL-5 has a peculiar version of Xen, which requires some special casing
 AC_ARG_WITH([rhel5-api],
-