+Tue Nov 27 15:29:01 CET 2007 Daniel Veillard <veillard@redhat.com>
+
+ * configure.in: when configuring with --prefix=/usr i.e. the same
+ prefix as the installed libvirt, use the same localstatedir /var
+ (instead of /usr/var) and sysconfdir /etc (instead of /usr/etc) to
+ be able to connect to the system daemon, and use the system local
+ options
+ * src/xs_internal.c: avoid error message when non-root cannot open
+ xenstore
+ * src/xend_internal.c: avoid error message when non-root cannot
+ directly access xend, in those 2 cases the proxy (or remote code)
+ should implement the access so there is no need to raise the error
+ there.
+
Mon Nov 26 15:06:19 CET 2007 Daniel Veillard <veillard@redhat.com>
* doc/*: modified the python page into a bindings page,
[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
+
+if test $prefix = "/usr" -a $localstatedir = '${prefix}/var' ; then
+ localstatedir='/var'
+fi
+if test $prefix = "/usr" -a $sysconfdir = '${prefix}/etc' ; then
+ sysconfdir='/etc'
+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])
close(s);
errno = serrno;
s = -1;
- virXendError(xend, VIR_ERR_INTERNAL_ERROR,
- "failed to connect to xend");
+ /*
+ * not being able to connect via the socket as a normal user
+ * is rather normal, this should fallback to the proxy (or
+ * remote) mechanism.
+ */
+ if ((getuid() == 0) || (xend->flags & VIR_DRV_OPEN_RO)) {
+ virXendError(xend, VIR_ERR_INTERNAL_ERROR,
+ "failed to connect to xend");
+ }
}
return s;
#endif /* ! PROXY */
if (priv->xshandle == NULL) {
- virXenStoreError(NULL, VIR_ERR_NO_XEN,
- _("failed to connect to Xen Store"));
+ /*
+ * not being able to connect via the socket as a normal user
+ * is rather normal, this should fallback to the proxy (or
+ * remote) mechanism.
+ */
+ if (getuid() == 0) {
+ virXenStoreError(NULL, VIR_ERR_NO_XEN,
+ _("failed to connect to Xen Store"));
+ }
return (-1);
}
return (0);