[gnome-settings-daemon/wip/laney/systemd-user] plugins: Add systemd user service files for all the plug ins



commit 3fac8322d0447d3b36a8339fc9056ea51988cec4
Author: Iain Lane <iain orangesquash org uk>
Date:   Tue Jan 16 11:21:48 2018 +0000

    plugins: Add systemd user service files for all the plug ins
    
    Using the facility added in the previous commit, we can add systemd user
    service files for all plugins and know when they have started up.
    
    For simplicity, we create a target which gnome-session can start to
    activate all of g-s-d's plugins.
    
    All units are practically identical, except for
    
      - the media-keys and sound plugins wait for PulseAudio to start
    
    This is heavily based on a patch originally by Bastien Nocera
    <hadess hadess net>

 Makefile.am                                        |    2 ++
 configure.ac                                       |   11 +++++++++++
 data/Makefile.am                                   |    4 ++++
 data/gnome-settings-daemon.target                  |    3 +++
 plugins/a11y-keyboard/Makefile.am                  |   10 ++++++++++
 plugins/a11y-keyboard/gsd-a11y-keyboard.service.in |   13 +++++++++++++
 plugins/a11y-settings/Makefile.am                  |   16 +++++++++++++---
 plugins/a11y-settings/gsd-a11y-settings.service.in |   13 +++++++++++++
 plugins/clipboard/Makefile.am                      |   10 ++++++++++
 plugins/clipboard/gsd-clipboard.service.in         |   13 +++++++++++++
 plugins/color/Makefile.am                          |    7 +++++++
 plugins/color/gsd-color.service.in                 |   13 +++++++++++++
 plugins/datetime/Makefile.am                       |   16 +++++++++++++---
 plugins/datetime/gsd-datetime.service.in           |   13 +++++++++++++
 plugins/housekeeping/Makefile.am                   |   18 +++++++++++++++---
 plugins/housekeeping/gsd-housekeeping.service.in   |   13 +++++++++++++
 plugins/keyboard/Makefile.am                       |   10 ++++++++++
 plugins/keyboard/gsd-keyboard.service.in           |   13 +++++++++++++
 plugins/media-keys/Makefile.am                     |   16 +++++++++++++---
 plugins/media-keys/gsd-media-keys.service.in       |   14 ++++++++++++++
 plugins/mouse/Makefile.am                          |   13 ++++++++++---
 plugins/mouse/gsd-mouse.service.in                 |   13 +++++++++++++
 plugins/power/Makefile.am                          |    9 +++++++++
 plugins/power/gsd-power.service.in                 |   13 +++++++++++++
 plugins/print-notifications/Makefile.am            |   16 +++++++++++++---
 .../gsd-print-notifications.service.in             |   13 +++++++++++++
 plugins/rfkill/Makefile.am                         |   13 ++++++++++---
 plugins/rfkill/gsd-rfkill.service.in               |   13 +++++++++++++
 plugins/screensaver-proxy/Makefile.am              |   13 ++++++++++---
 .../gsd-screensaver-proxy.service.in               |   13 +++++++++++++
 plugins/sharing/Makefile.am                        |   13 ++++++++++---
 plugins/sharing/gsd-sharing.service.in             |   13 +++++++++++++
 plugins/smartcard/Makefile.am                      |   16 +++++++++++++---
 plugins/smartcard/gsd-smartcard.service.in         |   13 +++++++++++++
 plugins/sound/Makefile.am                          |   16 +++++++++++++---
 plugins/sound/gsd-sound.service.in                 |   14 ++++++++++++++
 plugins/wacom/Makefile.am                          |   10 +++++++++-
 plugins/wacom/gsd-wacom.service.in                 |   13 +++++++++++++
 plugins/xsettings/Makefile.am                      |   10 ++++++++++
 plugins/xsettings/gsd-xsettings.service.in         |   13 +++++++++++++
 40 files changed, 454 insertions(+), 34 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 096c245..20c7901 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -8,6 +8,8 @@ SUBDIRS =                       \
        tests                   \
        $(NULL)
 
+AM_DISTCHECK_CONFIGURE_FLAGS = --with-systemduserunitdir='$${libdir}/systemd/user-distcheck'
+
 # Honor aclocal flags
 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
 
diff --git a/configure.ac b/configure.ac
index 454ddba..5027b10 100644
--- a/configure.ac
+++ b/configure.ac
@@ -104,6 +104,17 @@ else
 fi
 AM_CONDITIONAL(HAVE_GUDEV, test x$have_gudev = xyes)
 
+dnl ==========================================================================
+dnl systemd user unit directory
+PKG_CHECK_EXISTS([systemd],, [AC_MSG_ERROR([systemd development headers not found])])
+AC_ARG_WITH([systemduserunitdir],
+           AS_HELP_STRING([--with-systemduserunitdir=DIR], [Directory for systemd user service files]),
+           [],
+           [with_systemduserunitdir=$($PKG_CONFIG --variable=systemduserunitdir systemd)])
+if test x$with_systemduserunitdir != xno; then
+       AC_SUBST([systemduserunitdir], [$with_systemduserunitdir])
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl - ALSA integration (default enabled)
 dnl ---------------------------------------------------------------------------
diff --git a/data/Makefile.am b/data/Makefile.am
index 06fd2b3..b93cbb9 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -29,12 +29,16 @@ pkgconfig_DATA = gnome-settings-daemon.pc
 
 @INTLTOOL_XML_NOMERGE_RULE@
 
+unitdir = $(systemduserunitdir)
+unit_DATA = gnome-settings-daemon.target
+
 EXTRA_DIST =                                   \
        $(convert_DATA)                         \
        $(gsettings_SCHEMAS:.xml=.xml.in.in)    \
        $(gsettings_ENUM_FILES)                 \
        gnome-settings-daemon.pc.in             \
        $(api_DATA)                             \
+       $(unit_DATA)                            \
        $(NULL)
 
 DISTCLEANFILES =                       \
diff --git a/data/gnome-settings-daemon.target b/data/gnome-settings-daemon.target
new file mode 100644
index 0000000..baa7d54
--- /dev/null
+++ b/data/gnome-settings-daemon.target
@@ -0,0 +1,3 @@
+[Unit]
+Description=GNOME Settings daemon
+StopWhenUnneeded=yes
diff --git a/plugins/a11y-keyboard/Makefile.am b/plugins/a11y-keyboard/Makefile.am
index e57e882..ac5649e 100644
--- a/plugins/a11y-keyboard/Makefile.am
+++ b/plugins/a11y-keyboard/Makefile.am
@@ -29,14 +29,24 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.A11yKeyboard.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-a11y-keyboard.service.in
+unit_DATA = gsd-a11y-keyboard.service
+
+gsd-a11y-keyboard.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 EXTRA_DIST =                   \
        $(desktop_in_files)     \
+       $(unit_in_files)        \
        $(NULL)
 
 CLEANFILES =                   \
        $(desktop_DATA)         \
+       $(unit_DATA)            \
        $(NULL)
 
 DISTCLEANFILES =               \
        $(desktop_DATA)         \
+       $(unit_DATA)            \
        $(NULL)
diff --git a/plugins/a11y-keyboard/gsd-a11y-keyboard.service.in 
b/plugins/a11y-keyboard/gsd-a11y-keyboard.service.in
new file mode 100644
index 0000000..ae37b52
--- /dev/null
+++ b/plugins/a11y-keyboard/gsd-a11y-keyboard.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Keyboard accessibility
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-a11y-keyboard
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/a11y-settings/Makefile.am b/plugins/a11y-settings/Makefile.am
index d27e7c2..d617420 100644
--- a/plugins/a11y-settings/Makefile.am
+++ b/plugins/a11y-settings/Makefile.am
@@ -27,11 +27,21 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.A11ySettings.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-a11y-settings.service.in
+unit_DATA = gsd-a11y-settings.service
+
+gsd-a11y-settings.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 EXTRA_DIST =                   \
-       $(desktop_in_files)
+       $(desktop_in_files)     \
+       $(unit_in_files)
 
 CLEANFILES =                   \
-       $(desktop_DATA)
+       $(desktop_DATA)         \
+       $(unit_DATA)
 
 DISTCLEANFILES =               \
-       $(desktop_DATA)
+       $(desktop_DATA)         \
+       $(unit_DATA)
diff --git a/plugins/a11y-settings/gsd-a11y-settings.service.in 
b/plugins/a11y-settings/gsd-a11y-settings.service.in
new file mode 100644
index 0000000..335e87f
--- /dev/null
+++ b/plugins/a11y-settings/gsd-a11y-settings.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Accessibility settings
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-a11y-settings
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/clipboard/Makefile.am b/plugins/clipboard/Makefile.am
index d27e712..8189428 100644
--- a/plugins/clipboard/Makefile.am
+++ b/plugins/clipboard/Makefile.am
@@ -36,14 +36,24 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.Clipboard.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-clipboard.service.in
+unit_DATA = gsd-clipboard.service
+
+gsd-clipboard.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 EXTRA_DIST =                   \
        $(desktop_in_files)     \
+       $(unit_in_files)        \
        $(NULL)
 
 CLEANFILES =                   \
        $(desktop_DATA)         \
+       $(unit_DATA)            \
        $(NULL)
 
 DISTCLEANFILES =               \
        $(desktop_DATA)         \
+       $(unit_DATA)            \
        $(NULL)
diff --git a/plugins/clipboard/gsd-clipboard.service.in b/plugins/clipboard/gsd-clipboard.service.in
new file mode 100644
index 0000000..b239783
--- /dev/null
+++ b/plugins/clipboard/gsd-clipboard.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Clipboard handling
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-clipboard
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/color/Makefile.am b/plugins/color/Makefile.am
index ef56daf..7c4c91b 100644
--- a/plugins/color/Makefile.am
+++ b/plugins/color/Makefile.am
@@ -85,6 +85,13 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.Color.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-color.service.in
+unit_DATA = gsd-color.service
+
+gsd-color.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 EXTRA_DIST =                                   \
        $(desktop_in_files)                     \
        test-data/Lenovo-T61-Internal.bin       \
diff --git a/plugins/color/gsd-color.service.in b/plugins/color/gsd-color.service.in
new file mode 100644
index 0000000..d6af796
--- /dev/null
+++ b/plugins/color/gsd-color.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Color management
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-color
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/datetime/Makefile.am b/plugins/datetime/Makefile.am
index 48ba891..79879ae 100644
--- a/plugins/datetime/Makefile.am
+++ b/plugins/datetime/Makefile.am
@@ -50,12 +50,22 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.Datetime.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-datetime.service.in
+unit_DATA = gsd-datetime.service
+
+gsd-datetime.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 EXTRA_DIST =                           \
        timedated1-interface.xml        \
-       $(desktop_in_files)
+       $(desktop_in_files)             \
+       $(unit_in_files)
 
 CLEANFILES = \
-       $(desktop_DATA)
+       $(desktop_DATA) \
+       $(unit_DATA)
 
 DISTCLEANFILES = \
-       $(desktop_DATA)
+       $(desktop_DATA) \
+       $(unit_DATA)
diff --git a/plugins/datetime/gsd-datetime.service.in b/plugins/datetime/gsd-datetime.service.in
new file mode 100644
index 0000000..b515277
--- /dev/null
+++ b/plugins/datetime/gsd-datetime.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Date & Time handling
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-datetime
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/housekeeping/Makefile.am b/plugins/housekeeping/Makefile.am
index 3841edf..01beab8 100644
--- a/plugins/housekeeping/Makefile.am
+++ b/plugins/housekeeping/Makefile.am
@@ -60,8 +60,20 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.Housekeeping.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
-EXTRA_DIST = $(desktop_in_files)
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-housekeeping.service.in
+unit_DATA = gsd-housekeeping.service
 
-CLEANFILES = $(desktop_DATA)
+gsd-housekeeping.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
+EXTRA_DIST =                   \
+       $(desktop_in_files)     \
+       $(unit_in_files)
+CLEANFILES =           \
+       $(desktop_DATA) \
+       $(unit_DATA)
 
-DISTCLEANFILES = $(desktop_DATA)
+DISTCLEANFILES =       \
+       $(desktop_DATA) \
+       $(unit_DATA)
diff --git a/plugins/housekeeping/gsd-housekeeping.service.in 
b/plugins/housekeeping/gsd-housekeeping.service.in
new file mode 100644
index 0000000..ddd28b3
--- /dev/null
+++ b/plugins/housekeeping/gsd-housekeeping.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Housekeeping
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-housekeeping
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/keyboard/Makefile.am b/plugins/keyboard/Makefile.am
index e4e6dfe..0036e95 100644
--- a/plugins/keyboard/Makefile.am
+++ b/plugins/keyboard/Makefile.am
@@ -34,14 +34,24 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.Keyboard.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-keyboard.service.in
+unit_DATA = gsd-keyboard.service
+
+gsd-keyboard.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 EXTRA_DIST =                   \
        $(desktop_in_files)     \
+       $(unit_in_files)        \
        $(NULL)
 
 CLEANFILES =                   \
        $(desktop_DATA)         \
+       $(unit_DATA)            \
        $(NULL)
 
 DISTCLEANFILES =               \
        $(desktop_DATA)         \
+       $(unit_DATA)            \
        $(NULL)
diff --git a/plugins/keyboard/gsd-keyboard.service.in b/plugins/keyboard/gsd-keyboard.service.in
new file mode 100644
index 0000000..c46077e
--- /dev/null
+++ b/plugins/keyboard/gsd-keyboard.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Keyboard handling
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-keyboard
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/media-keys/Makefile.am b/plugins/media-keys/Makefile.am
index 6f7d88f..1b26e5a 100644
--- a/plugins/media-keys/Makefile.am
+++ b/plugins/media-keys/Makefile.am
@@ -34,6 +34,13 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.MediaKeys.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-media-keys.service.in
+unit_DATA = gsd-media-keys.service
+
+gsd-media-keys.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 libexec_PROGRAMS = gsd-media-keys
 
 gsd_media_keys_SOURCES =                       \
@@ -80,11 +87,14 @@ EXTRA_DIST =                                \
        README.media-keys-API           \
        org.gnome.ShellKeyGrabber.xml   \
        $(plugin_in_files)              \
-       $(desktop_in_files)
+       $(desktop_in_files)             \
+       $(unit_in_files)
 
 CLEANFILES =                   \
        $(BUILT_SOURCES)        \
-       $(desktop_DATA)
+       $(desktop_DATA)         \
+       $(unit_DATA)
 
 DISTCLEANFILES =               \
-       $(desktop_DATA)
+       $(desktop_DATA)         \
+       $(unit_DATA)
diff --git a/plugins/media-keys/gsd-media-keys.service.in b/plugins/media-keys/gsd-media-keys.service.in
new file mode 100644
index 0000000..858761e
--- /dev/null
+++ b/plugins/media-keys/gsd-media-keys.service.in
@@ -0,0 +1,14 @@
+[Unit]
+Description=Media keys handling
+PartOf=graphical-session.target
+After=gnome-session.service
+Requires=pulseaudio.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-media-keys
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/mouse/Makefile.am b/plugins/mouse/Makefile.am
index fa095c3..5f7fc34 100644
--- a/plugins/mouse/Makefile.am
+++ b/plugins/mouse/Makefile.am
@@ -7,6 +7,13 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.Mouse.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-mouse.service.in
+unit_DATA = gsd-mouse.service
+
+gsd-mouse.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 libexec_PROGRAMS = gsd-locate-pointer
 
 gsd_locate_pointer_SOURCES =   \
@@ -45,6 +52,6 @@ gsd_mouse_LDADD =                                             \
        $(MOUSE_LIBS)                                           \
        $(LIBM)
 
-EXTRA_DIST = $(desktop_in_files)
-CLEANFILES = $(desktop_DATA)
-DISTCLEANFILES = $(desktop_DATA)
+EXTRA_DIST = $(desktop_in_files) $(unit_in_files)
+CLEANFILES = $(desktop_DATA) $(unit_DATA)
+DISTCLEANFILES = $(desktop_DATA) $(unit_DATA)
diff --git a/plugins/mouse/gsd-mouse.service.in b/plugins/mouse/gsd-mouse.service.in
new file mode 100644
index 0000000..90948a0
--- /dev/null
+++ b/plugins/mouse/gsd-mouse.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Mouse handling
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-mouse
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/power/Makefile.am b/plugins/power/Makefile.am
index 94606ad..daff826 100644
--- a/plugins/power/Makefile.am
+++ b/plugins/power/Makefile.am
@@ -9,6 +9,13 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.Power.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-power.service.in
+unit_DATA = gsd-power.service
+
+gsd-power.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 org.gnome.settings-daemon.plugins.power.policy.in: org.gnome.settings-daemon.plugins.power.policy.in.in 
Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
@@ -60,6 +67,7 @@ gsd_power_LDADD =                                     \
 
 EXTRA_DIST =                                           \
        $(desktop_in_files)                             \
+       $(unit_in_files)                                \
        $(gsd_backlight_helper_SOURCES)                 \
        $(NULL)
 
@@ -125,6 +133,7 @@ clean-local:
 
 CLEANFILES =                                                   \
        $(desktop_DATA)                                         \
+       $(unit_DATA)                                            \
        org.gnome.settings-daemon.plugins.power.policy          \
        org.gnome.settings-daemon.plugins.power.policy.in       \
        $(GSD_POWER_ENUM_FILES)                                 \
diff --git a/plugins/power/gsd-power.service.in b/plugins/power/gsd-power.service.in
new file mode 100644
index 0000000..2da32ca
--- /dev/null
+++ b/plugins/power/gsd-power.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Power management handling
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-power
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/print-notifications/Makefile.am b/plugins/print-notifications/Makefile.am
index e845f1f..20cb81b 100644
--- a/plugins/print-notifications/Makefile.am
+++ b/plugins/print-notifications/Makefile.am
@@ -7,6 +7,13 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.PrintNotifications.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-print-notifications.service.in
+unit_DATA = gsd-print-notifications.service
+
+gsd-print-notifications.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 libexec_PROGRAMS = gsd-printer
 
 gsd_printer_SOURCES =  \
@@ -48,10 +55,13 @@ gsd_print_notifications_LDADD =                             \
        $(PRINT_NOTIFICATIONS_LIBS)
 
 EXTRA_DIST =                   \
-       $(desktop_in_files)
+       $(desktop_in_files)     \
+       $(unit_in_files)
 
 CLEANFILES =                   \
-       $(desktop_DATA)
+       $(desktop_DATA)         \
+       $(unit_DATA)
 
 DISTCLEANFILES =               \
-       $(desktop_DATA)
+       $(desktop_DATA)         \
+       $(unit_DATA)
diff --git a/plugins/print-notifications/gsd-print-notifications.service.in 
b/plugins/print-notifications/gsd-print-notifications.service.in
new file mode 100644
index 0000000..fe57289
--- /dev/null
+++ b/plugins/print-notifications/gsd-print-notifications.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Print notifications
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-print-notifications
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/rfkill/Makefile.am b/plugins/rfkill/Makefile.am
index 3c5ec47..91795de 100644
--- a/plugins/rfkill/Makefile.am
+++ b/plugins/rfkill/Makefile.am
@@ -33,6 +33,13 @@ org.gnome.SettingsDaemon.Rfkill.desktop: $(desktop_in_files) Makefile
 udevrulesdir = $(prefix)/lib/udev/rules.d
 udevrules_DATA = 61-gnome-settings-daemon-rfkill.rules
 
-EXTRA_DIST = $(udevrules_DATA) $(desktop_in_files)
-CLEANFILES = $(desktop_DATA)
-DISTCLEANFILES = $(desktop_DATA)
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-rfkill.service.in
+unit_DATA = gsd-rfkill.service
+
+gsd-rfkill.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
+EXTRA_DIST = $(udevrules_DATA) $(desktop_in_files) $(unit_in_files)
+CLEANFILES = $(desktop_DATA) $(unit_DATA)
+DISTCLEANFILES = $(desktop_DATA) $(unit_DATA)
diff --git a/plugins/rfkill/gsd-rfkill.service.in b/plugins/rfkill/gsd-rfkill.service.in
new file mode 100644
index 0000000..27e839c
--- /dev/null
+++ b/plugins/rfkill/gsd-rfkill.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=RFKill handling
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-rfkill
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/screensaver-proxy/Makefile.am b/plugins/screensaver-proxy/Makefile.am
index 3c9de44..d07a482 100644
--- a/plugins/screensaver-proxy/Makefile.am
+++ b/plugins/screensaver-proxy/Makefile.am
@@ -32,8 +32,15 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.ScreensaverProxy.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
-EXTRA_DIST = $(desktop_in_files)
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-screensaver-proxy.service.in
+unit_DATA = gsd-screensaver-proxy.service
 
-CLEANFILES = $(desktop_DATA)
+gsd-screensaver-proxy.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
+EXTRA_DIST = $(desktop_in_files) $(unit_in_files)
+
+CLEANFILES = $(desktop_DATA) $(unit_DATA)
 
-DISTCLEANFILES = $(desktop_DATA)
+DISTCLEANFILES = $(desktop_DATA) $(unit_DATA)
diff --git a/plugins/screensaver-proxy/gsd-screensaver-proxy.service.in 
b/plugins/screensaver-proxy/gsd-screensaver-proxy.service.in
new file mode 100644
index 0000000..9ce476d
--- /dev/null
+++ b/plugins/screensaver-proxy/gsd-screensaver-proxy.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Freedesktop screensaver handling
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-screensaver-proxy
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/sharing/Makefile.am b/plugins/sharing/Makefile.am
index 3fae49e..39cd433 100644
--- a/plugins/sharing/Makefile.am
+++ b/plugins/sharing/Makefile.am
@@ -28,6 +28,13 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.Sharing.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
-EXTRA_DIST = $(desktop_in_files)
-CLEANFILES = $(desktop_DATA)
-DISTCLEANFILES = $(desktop_DATA)
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-sharing.service.in
+unit_DATA = gsd-sharing.service
+
+gsd-sharing.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
+EXTRA_DIST = $(desktop_in_files) $(unit_in_files)
+CLEANFILES = $(desktop_DATA) $(unit_DATA)
+DISTCLEANFILES = $(desktop_DATA) $(unit_DATA)
diff --git a/plugins/sharing/gsd-sharing.service.in b/plugins/sharing/gsd-sharing.service.in
new file mode 100644
index 0000000..50595fe
--- /dev/null
+++ b/plugins/sharing/gsd-sharing.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Sharing handling
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-rfkill
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/smartcard/Makefile.am b/plugins/smartcard/Makefile.am
index 4a2951a..206c3d5 100644
--- a/plugins/smartcard/Makefile.am
+++ b/plugins/smartcard/Makefile.am
@@ -62,16 +62,26 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.Smartcard.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-smartcard.service.in
+unit_DATA = gsd-smartcard.service
+
+gsd-smartcard.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 EXTRA_DIST = \
        gsd-smartcard-enum-types.c.in \
        gsd-smartcard-enum-types.h.in \
        org.gnome.SettingsDaemon.Smartcard.xml \
-       $(desktop_in_files)
+       $(desktop_in_files) \
+       $(unit_in_files)
 
 CLEANFILES = \
        $(BUILT_SOURCES) \
-       $(desktop_DATA)
+       $(desktop_DATA) \
+       $(unit_DATA)
 
 DISTCLEANFILES = \
        $(BUILT_SOURCES) \
-       $(desktop_DATA)
+       $(desktop_DATA) \
+       $(unit_DATA)
diff --git a/plugins/smartcard/gsd-smartcard.service.in b/plugins/smartcard/gsd-smartcard.service.in
new file mode 100644
index 0000000..f293a6c
--- /dev/null
+++ b/plugins/smartcard/gsd-smartcard.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Smartcard handling
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-smartcard
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/sound/Makefile.am b/plugins/sound/Makefile.am
index 472bdbf..371b318 100644
--- a/plugins/sound/Makefile.am
+++ b/plugins/sound/Makefile.am
@@ -27,11 +27,21 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.Sound.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-sound.service.in
+unit_DATA = gsd-sound.service
+
+gsd-sound.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 EXTRA_DIST = \
-       $(desktop_in_files)
+       $(desktop_in_files) \
+       $(unit_in_Files)
 
 CLEANFILES = \
-       $(desktop_DATA)
+       $(desktop_DATA) \
+       $(unit_DATA)
 
 DISTCLEANFILES = \
-       $(desktop_DATA)
+       $(desktop_DATA) \
+       $(unit_DATA)
diff --git a/plugins/sound/gsd-sound.service.in b/plugins/sound/gsd-sound.service.in
new file mode 100644
index 0000000..c20045f
--- /dev/null
+++ b/plugins/sound/gsd-sound.service.in
@@ -0,0 +1,14 @@
+[Unit]
+Description=Sound sample caching handling
+PartOf=graphical-session.target
+After=gnome-session.service
+Requires=pulseaudio.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-sound
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/wacom/Makefile.am b/plugins/wacom/Makefile.am
index 1637a19..687f99a 100644
--- a/plugins/wacom/Makefile.am
+++ b/plugins/wacom/Makefile.am
@@ -66,8 +66,16 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.Wacom.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
-EXTRA_DIST += $(desktop_in_files)
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-wacom.service.in
+unit_DATA = gsd-wacom.service
+
+gsd-wacom.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
+EXTRA_DIST += $(desktop_in_files) $(unit_in_files)
 CLEANFILES =                                           \
        $(desktop_DATA)                                 \
+       $(unit_DATA)                                    \
        org.gnome.settings-daemon.plugins.wacom.policy  \
        org.gnome.settings-daemon.plugins.wacom.policy.in
diff --git a/plugins/wacom/gsd-wacom.service.in b/plugins/wacom/gsd-wacom.service.in
new file mode 100644
index 0000000..fbe3fa5
--- /dev/null
+++ b/plugins/wacom/gsd-wacom.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Wacom handling
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-wacom
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/xsettings/Makefile.am b/plugins/xsettings/Makefile.am
index 0e9d4bf..54b0c91 100644
--- a/plugins/xsettings/Makefile.am
+++ b/plugins/xsettings/Makefile.am
@@ -93,15 +93,25 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 org.gnome.SettingsDaemon.XSettings.desktop: $(desktop_in_files) Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
+unitdir = $(systemduserunitdir)
+unit_in_files = gsd-xsettings.service.in
+unit_DATA = gsd-xsettings.service
+
+gsd-xsettings.service: $(unit_in_files) Makefile
+       $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
 EXTRA_DIST =                   \
        README.xsettings        \
        $(desktop_in_files)     \
+       $(unit_in_Files)        \
        $(NULL)
 
 CLEANFILES =                   \
        $(desktop_DATA)         \
+       $(unit_DATA)            \
        $(NULL)
 
 DISTCLEANFILES =               \
        $(desktop_DATA)         \
+       $(unit_DATA)            \
        $(NULL)
diff --git a/plugins/xsettings/gsd-xsettings.service.in b/plugins/xsettings/gsd-xsettings.service.in
new file mode 100644
index 0000000..cd5b444
--- /dev/null
+++ b/plugins/xsettings/gsd-xsettings.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=XSettings
+PartOf=graphical-session.target
+After=gnome-session.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=@libexecdir@/gsd-xsettings
+Restart=on-failure
+
+[Install]
+WantedBy=gnome-settings-daemon.target


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]