Add upstream patch to fix RHBZ#842114.
This commit is contained in:
parent
c37cb21dea
commit
f4e752a385
46
0001-Fix-daemon-auto-spawning.patch
Normal file
46
0001-Fix-daemon-auto-spawning.patch
Normal file
@ -0,0 +1,46 @@
|
||||
From efe6c8021146d046846ead5b5efc9828d97c1ceb Mon Sep 17 00:00:00 2001
|
||||
From: Christophe Fergeau <cfergeau@redhat.com>
|
||||
Date: Thu, 12 Jul 2012 13:52:36 +0200
|
||||
Subject: [PATCH] Fix daemon auto-spawning
|
||||
|
||||
Commit 32a9aac switched libvirt to use the XDG base directories
|
||||
to locate most of its data/config. In particular, the per-user socket
|
||||
for qemu:///session is now stored in the XDG runtime directory.
|
||||
This directory is located by looking at the XDG_RUNTIME_DIR environment
|
||||
variable, with a fallback to ~/.cache/libvirt if this variable is not
|
||||
set.
|
||||
|
||||
When the daemon is autospawned because a client application wants
|
||||
to use qemu:///session, the daemon is ran in a clean environment
|
||||
which does not contain XDG_RUNTIME_DIR. It will create its socket
|
||||
in ~/.cache/libvirt. If the client application has XDG_RUNTIME_DIR
|
||||
set, it will not look for the socket in the fallback place, and will
|
||||
fail to connect to the autospawned daemon.
|
||||
|
||||
This patch adds XDG_RUNTIME_DIR to the daemon environment before
|
||||
auto-starting it. I've done this in virNetSocketForkDaemon rather
|
||||
than in virCommandAddEnvPassCommon as I wasn't sure we want to pass
|
||||
these variables to other commands libvirt spawns. XDG_CACHE_HOME
|
||||
and XDG_CONFIG_HOME are also added to the daemon env as it makes use
|
||||
of those as well.
|
||||
---
|
||||
src/rpc/virnetsocket.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c
|
||||
index 0b32ffe..08dfbb0 100644
|
||||
--- a/src/rpc/virnetsocket.c
|
||||
+++ b/src/rpc/virnetsocket.c
|
||||
@@ -97,6 +97,9 @@ static int virNetSocketForkDaemon(const char *binary)
|
||||
NULL);
|
||||
|
||||
virCommandAddEnvPassCommon(cmd);
|
||||
+ virCommandAddEnvPass(cmd, "XDG_CACHE_HOME");
|
||||
+ virCommandAddEnvPass(cmd, "XDG_CONFIG_HOME");
|
||||
+ virCommandAddEnvPass(cmd, "XDG_RUNTIME_DIR");
|
||||
virCommandClearCaps(cmd);
|
||||
virCommandDaemonize(cmd);
|
||||
ret = virCommandRun(cmd, NULL);
|
||||
--
|
||||
1.7.10.4
|
||||
|
10
libvirt.spec
10
libvirt.spec
@ -301,7 +301,7 @@
|
||||
Summary: Library providing a simple virtualization API
|
||||
Name: libvirt
|
||||
Version: 0.9.13
|
||||
Release: 2%{?dist}%{?extra_release}
|
||||
Release: 3%{?dist}%{?extra_release}
|
||||
License: LGPLv2+
|
||||
Group: Development/Libraries
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
@ -312,6 +312,9 @@ URL: http://libvirt.org/
|
||||
%endif
|
||||
Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
|
||||
|
||||
# Upstream patch to fix RHBZ#842114. Can be removed in 0.9.14.
|
||||
Patch0: 0001-Fix-daemon-auto-spawning.patch
|
||||
|
||||
%if %{with_libvirtd}
|
||||
Requires: libvirt-daemon = %{version}-%{release}
|
||||
%if %{with_network}
|
||||
@ -983,6 +986,8 @@ of recent versions of Linux (and other OSes).
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
%if ! %{with_xen}
|
||||
%define _without_xen --without-xen
|
||||
@ -1792,6 +1797,9 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/sysctl.d/libvirtd
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Jul 23 2012 Richard W.M. Jones <rjones@redhat.com> - 0.9.13-3
|
||||
- Add upstream patch to fix RHBZ#842114.
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.13-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user