[gnome-initial-setup/benzea/systemd-3-36: 23/23] data: Port to new systemd session configuration approach



commit 2134ebb6932e6ad7ca683a33aa4b134afef2b91e
Author: Benjamin Berg <bberg redhat com>
Date:   Sat Dec 14 10:20:39 2019 +0100

    data: Port to new systemd session configuration approach
    
    Earlier we had a global definition of which services will be launched in
    a GNOME session. However, the approach made it very hard to create
    customized session.
    
    With this approach, each session needs to drop-in a session
    configuration file. This file closely mirrors the old .session
    definition file.

 data/gnome-initial-setup.session      |  1 +
 data/gnome-initial-setup.session.conf | 22 ++++++++++++++++++++++
 data/meson.build                      |  7 ++++++-
 3 files changed, 29 insertions(+), 1 deletion(-)
---
diff --git a/data/gnome-initial-setup.session b/data/gnome-initial-setup.session
index f6d7e92..9792edb 100644
--- a/data/gnome-initial-setup.session
+++ b/data/gnome-initial-setup.session
@@ -1,3 +1,4 @@
 [GNOME Session]
 Name=GNOME Initial Setup
+# Keep in sync with gnome-session@gnome-initial-setup.target.d/session.conf drop-in
 
RequiredComponents=org.gnome.Shell;gnome-initial-setup;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;
diff --git a/data/gnome-initial-setup.session.conf b/data/gnome-initial-setup.session.conf
new file mode 100644
index 0000000..8b725ab
--- /dev/null
+++ b/data/gnome-initial-setup.session.conf
@@ -0,0 +1,22 @@
+[Unit]
+# Keep in sync with gnome-initial-setup.session
+Wants=gsd-a11y-settings.target
+Wants=gsd-keyboard.target
+Wants=gsd-rfkill.target
+Wants=gsd-sound.target
+Wants=gsd-color.target
+Wants=gsd-media-keys.target
+Wants=gsd-screensaver-proxy.target
+Wants=gsd-wacom.target
+Wants=gsd-datetime.target
+Wants=gsd-power.target
+Wanst=gsd-sharing.target
+Wants=gsd-wwan.target
+Wants=gsd-housekeeping.target
+Wants=gsd-print-notifications.target
+Wants=gsd-smartcard.target
+
+Requires=gnome-shell.target
+
+# Only difference to a standard GNOME session is the gnome-initial-setup service
+Requires=gnome-initial-setup.service
diff --git a/data/meson.build b/data/meson.build
index 19e3643..3cc0497 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -43,7 +43,6 @@ if enable_systemd
     unitconf.set('libexecdir', libexec_dir)
 
     unit_files = {
-        'gnome-initial-setup.service' : [ 'gnome-session@gnome-initial-setup.target.wants/' ],
         'gnome-initial-setup-first-login.service' : [ 'gnome-session.target.wants/' ],
         'gnome-initial-setup-copy-worker.service' : [ 'gnome-session.target.wants/' ],
         'gnome-welcome-tour.service' : [ 'gnome-session.target.wants/' ],
@@ -61,6 +60,12 @@ if enable_systemd
             meson.add_install_script('meson-add-wants.sh', systemd_userunitdir, target, unit)
         endforeach
     endforeach
+
+    install_data(
+        'gnome-initial-setup.session.conf',
+        rename: join_paths('gnome-session@gnome-initial-setup.target.d', 'session.conf'),
+        install_dir: systemd_userunitdir
+  )
 endif
 
 


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