[gnome-initial-setup/benzea/systemd-3-36] data: Port to new systemd session configuration approach
- From: Benjamin Berg <bberg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-initial-setup/benzea/systemd-3-36] data: Port to new systemd session configuration approach
- Date: Sat, 14 Dec 2019 09:25:52 +0000 (UTC)
commit 1c0b5f4d31f4c57ee51d1bb354cfb46868c1d869
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..cc129e1
--- /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
+
+BindsTo=gnome-shell.target
+
+# Only difference to a standard GNOME session is the gnome-initial-setup service
+BindsTo=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]