Inject session bus address into user bus environment (#1274700)

This commit is contained in:
David King 2015-10-25 08:57:52 +00:00
parent 3de9b4dcf0
commit b7293f6907
2 changed files with 54 additions and 1 deletions

View File

@ -0,0 +1,47 @@
From 2ae8759322f774d35332aba1502dea2983bd350c Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Thu, 22 Oct 2015 19:50:29 +0200
Subject: [PATCH] user dbus.socket: Set DBUS_SESSION_BUS_ADDRESS
As discussed in https://github.com/systemd/systemd/issues/1600
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92612
[smcv: use AC_PATH_PROG to find systemctl; ignore systemctl failure]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
---
bus/systemd-user/dbus.socket.in | 1 +
configure.ac | 6 ++++++
2 files changed, 7 insertions(+)
diff --git a/bus/systemd-user/dbus.socket.in b/bus/systemd-user/dbus.socket.in
index 77958f7..4793d1d 100644
--- a/bus/systemd-user/dbus.socket.in
+++ b/bus/systemd-user/dbus.socket.in
@@ -3,6 +3,7 @@ Description=D-Bus User Message Bus Socket
[Socket]
ListenStream=%t/bus
+ExecStartPost=-@SYSTEMCTL@ --user set-environment DBUS_SESSION_BUS_ADDRESS=unix:path=%t/bus
[Install]
WantedBy=sockets.target
diff --git a/configure.ac b/configure.ac
index 6078ce7..e29536d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1163,6 +1163,12 @@ if test x$enable_systemd = xyes -a x$have_systemd != xyes ; then
AC_MSG_ERROR([Explicitly requested systemd support, but systemd not found])
fi
+# If not found in $PATH, we might still have systemd and systemctl at runtime
+# (perhaps dbus is being compiled in a minimal chroot with no systemd).
+# Assume the upstream-recommended location. Distributors with split /usr
+# can override this with ./configure SYSTEMCTL=/bin/systemctl
+AC_PATH_PROG([SYSTEMCTL], [systemctl], [/usr/bin/systemctl])
+
# libaudit detection
if test x$enable_libaudit = xno ; then
have_libaudit=no;
--
2.6.1

View File

@ -18,7 +18,7 @@
Name: dbus
Epoch: 1
Version: 1.10.0
Release: 3%{?dist}
Release: 4%{?dist}
Summary: D-BUS message bus
Group: System Environment/Libraries
@ -29,6 +29,8 @@ URL: http://www.freedesktop.org/Software/dbus/
#VCS: git:git://git.freedesktop.org/git/dbus/dbus
Source0: http://dbus.freedesktop.org/releases/%{name}/%{name}-%{version}.tar.gz
Source1: 00-start-message-bus.sh
# https://bugzilla.redhat.com/show_bug.cgi?id=1274700
Patch0: dbus-1.10.0-inject-session-address-in-user-bus.patch
BuildRequires: libtool
BuildRequires: expat-devel >= %{expat_version}
@ -122,6 +124,7 @@ in this separate package so server systems need not install X.
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1
%build
@ -345,6 +348,9 @@ popd
%changelog
* Sun Oct 25 2015 David King <amigadave@amigadave.com> - 1:1.10.0-4
- Inject session bus address into user bus environment (#1274700)
* Fri Sep 04 2015 David King <amigadave@amigadave.com> - 1:1.10.0-3
- Enable Ducktype documentation