if DBUS_ENABLE_USER_SESSION
$(mkinstalldirs) $(DESTDIR)$(systemduserunitdir)/sockets.target.wants
ln -fs ../dbus.socket $(DESTDIR)$(systemduserunitdir)/sockets.target.wants/dbus.socket
+
+ $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/user-sockets@.target.wants
+ ln -fs ../dbus@.socket $(DESTDIR)$(systemdsystemunitdir)/user-sockets@.target.wants/dbus@.socket
endif
if DBUS_UNIX
dbus.socket.in \
systemd-user/dbus.service.in \
systemd-user/dbus.socket.in \
+ systemd-system/dbus@.service.in \
+ systemd-system/dbus@.socket.in \
$(NULL)
systemdsystemunit_DATA = \
dbus.service \
- dbus.socket
+ dbus.socket \
+ systemd-system/dbus@.service \
+ systemd-system/dbus@.socket
endif
if DBUS_ENABLE_USER_SESSION
--- /dev/null
+[Unit]
+PartOf=userlogin@%i.target
+Description=D-Bus User Message Bus
+Documentation=man:dbus-daemon(1)
+DefaultDependencies=no
+Requires=dbus@%i.socket
+
+[Service]
+User=%i
+Environment=DBUS_SESSION_BUS_ADDRESS=kernel:path=/sys/fs/kdbus/%i-user/bus;unix:path=/run/user/%i/bus
+Environment=XDG_RUNTIME_DIR=/run/user/%i
+SmackProcessLabel=User
+ExecStart=@EXPANDED_BINDIR@/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation
+ExecReload=@EXPANDED_BINDIR@/dbus-send --print-reply --session --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig
+
+[Install]
+Also=dbus@.socket
--- /dev/null
+[Unit]
+PartOf=userlogin@%i.target
+DefaultDependencies=no
+After=systemd-logind.service
+Description=D-Bus User Message Bus Socket
+
+[Socket]
+SocketUser=%i
+ListenStream=/run/user/%i/bus
+
+[Install]
+Also=dbus.service
bus/dbus.socket
bus/systemd-user/dbus.service
bus/systemd-user/dbus.socket
+bus/systemd-system/dbus@.service
+bus/systemd-system/dbus@.socket
Makefile
dbus/Makefile
bus/Makefile
%{_unitdir_user}/dbus.service
%dir %{_unitdir_user}/sockets.target.wants
%{_unitdir_user}/sockets.target.wants/dbus.socket
+%{_unitdir}/dbus@.socket
+%{_unitdir}/dbus@.service
+%dir %{_unitdir}/user-sockets@.target.wants
+%{_unitdir}/user-sockets@.target.wants/dbus@.socket
%dir %{_sysconfdir}/dbus-1
%dir %{_datadir}/dbus-1/session.d
%dir %{_datadir}/dbus-1/system.d