diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2015-09-24 17:32:24 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2015-09-29 14:55:59 +0100 |
commit | a47a96de5e80acc75409bb3696a309bb92ab6430 (patch) | |
tree | a4858a6a10c0f5d2f9ce73af14809ec0657c8bc9 | |
parent | dfe3d0c32e686f40d8c4ec831a100eb944bde5d0 (diff) | |
download | colord-a47a96de5e80acc75409bb3696a309bb92ab6430.tar.gz |
Add a systemd user service corresponding to the D-Bus session service
This ensures that it ends up in its own cgroup under systemd user
sessions where dbus-daemon uses systemd activation, rather than
being treated as part of dbus.service.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92165
Signed-off-by: Richard Hughes <richard@hughsie.com>
-rw-r--r-- | contrib/colord.spec.in | 1 | ||||
-rw-r--r-- | contrib/session-helper/Makefile.am | 8 | ||||
-rw-r--r-- | contrib/session-helper/colord-session.service.in | 7 | ||||
-rw-r--r-- | contrib/session-helper/org.freedesktop.ColorHelper.service.in | 1 |
4 files changed, 17 insertions, 0 deletions
diff --git a/contrib/colord.spec.in b/contrib/colord.spec.in index 1c75001..2c8a698 100644 --- a/contrib/colord.spec.in +++ b/contrib/colord.spec.in @@ -200,6 +200,7 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %{_libexecdir}/colord-session %{_datadir}/dbus-1/interfaces/org.freedesktop.ColorHelper.xml %{_datadir}/dbus-1/services/org.freedesktop.ColorHelper.service +/usr/lib/systemd/user/colord-session.service # sane helper %if 0%{?enable_sane} diff --git a/contrib/session-helper/Makefile.am b/contrib/session-helper/Makefile.am index 06a4bda..9f45753 100644 --- a/contrib/session-helper/Makefile.am +++ b/contrib/session-helper/Makefile.am @@ -62,6 +62,12 @@ $(dbusservicemain_DATA): $(dbusservicemain_in_files) Makefile @sed -e "s|\@servicedir\@|$(libexecdir)|" $< | \ sed -e "s|\@daemon_user\@|$(daemon_user)|" > $@ +systemduserdir = $(prefix)/lib/systemd/user +systemduser_in_files = colord-session.service.in +systemduser_DATA = $(systemduser_in_files:.service.in=.service) +$(systemduser_DATA): $(systemduser_in_files) Makefile + @sed -e "s|\@servicedir\@|$(libexecdir)|" $< > $@ + if CD_BUILD_SESSION_EXAMPLE noinst_PROGRAMS = \ colord-session-example @@ -93,10 +99,12 @@ gsettings_SCHEMAS = $(gsettings_schemas_in_files:.gschema.xml.in=.gschema.xml) EXTRA_DIST = \ $(gsettings_schemas_in_files) \ + $(systemduser_in_files) \ $(dbusservicemain_in_files) DISTCLEANFILES = \ $(dbusservicemain_DATA) \ + $(systemduser_DATA) \ org.freedesktop.ColorHelper.gschema.xml -include $(top_srcdir)/git.mk diff --git a/contrib/session-helper/colord-session.service.in b/contrib/session-helper/colord-session.service.in new file mode 100644 index 0000000..086a8fd --- /dev/null +++ b/contrib/session-helper/colord-session.service.in @@ -0,0 +1,7 @@ +[Unit] +Description=Color management helper + +[Service] +Type=dbus +BusName=org.freedesktop.ColorHelper +ExecStart=@servicedir@/colord-session diff --git a/contrib/session-helper/org.freedesktop.ColorHelper.service.in b/contrib/session-helper/org.freedesktop.ColorHelper.service.in index abcfb7f..28a8568 100644 --- a/contrib/session-helper/org.freedesktop.ColorHelper.service.in +++ b/contrib/session-helper/org.freedesktop.ColorHelper.service.in @@ -1,3 +1,4 @@ [D-BUS Service] Name=org.freedesktop.ColorHelper Exec=@servicedir@/colord-session +SystemdService=colord-session.service |