user dbus.socket: Set DBUS_SESSION_BUS_ADDRESS

As discussed in <https://github.com/systemd/systemd/issues/1600>.
See also <https://bugs.archlinux.org/task/46721>,
<https://bugzilla.gnome.org/show_bug.cgi?id=756420>

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>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
[smcv: add links to earlier bug reports elsewhere]
This commit is contained in:
Jan Alexander Steffens (heftig) 2015-10-22 19:50:29 +02:00 committed by Simon McVittie
parent 4eddd1bf52
commit 98e4499240
2 changed files with 7 additions and 0 deletions

View file

@ -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

View file

@ -1202,6 +1202,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;