summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorBenjamin Berg <bberg@redhat.com>2019-12-17 16:00:40 +0100
committerRay Strode <halfline@gmail.com>2020-08-10 18:14:27 +0000
commitc4a72a0aac2967b1bbdeafc7ccb940afd1c22d3e (patch)
tree54c72ba621db1122fb217460582e64ebe7ea4a76 /data
parentdc10790e850e507fedfe64d3449cbbb2f5d146f6 (diff)
downloadgdm-c4a72a0aac2967b1bbdeafc7ccb940afd1c22d3e.tar.gz
data: Install systemd specification for gnome-login session
GDM needs to ship the systemd definition for the custom GNOME session it starts.
Diffstat (limited to 'data')
-rw-r--r--data/gnome-login.session.in1
-rw-r--r--data/meson.build13
-rw-r--r--data/session.conf19
3 files changed, 33 insertions, 0 deletions
diff --git a/data/gnome-login.session.in b/data/gnome-login.session.in
index 618e76ce..fd9d45aa 100644
--- a/data/gnome-login.session.in
+++ b/data/gnome-login.session.in
@@ -1,3 +1,4 @@
[GNOME Session]
Name=Display Manager
+# Keep in sync with gnome-session@gnome-login.target.d/session.conf
RequiredComponents=org.gnome.Shell;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;
diff --git a/data/meson.build b/data/meson.build
index 02353422..b24f7c0b 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -150,6 +150,13 @@ else
systemd_systemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
endif
+if get_option('systemduserunitdir') != ''
+ systemd_userunitdir = get_option('systemduserunitdir')
+else
+ systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
+ define_variable: ['prefix', get_option('prefix')])
+endif
+
configure_file(
input: 'gdm.service.in',
output: '@BASENAME@',
@@ -158,6 +165,12 @@ configure_file(
format: 'cmake'
)
+install_data(
+ 'session.conf',
+ rename: join_paths('gnome-session@gnome-login.target.d', 'session.conf'),
+ install_dir: systemd_userunitdir,
+)
+
# XSession
if get_option('gdm-xsession')
configure_file(
diff --git a/data/session.conf b/data/session.conf
new file mode 100644
index 00000000..560f8dce
--- /dev/null
+++ b/data/session.conf
@@ -0,0 +1,19 @@
+[Unit]
+# Keep in sync with gnome-login.session
+Wants=org.gnome.SettingsDaemon.A11ySettings.target
+Wants=org.gnome.SettingsDaemon.Color.target
+Wants=org.gnome.SettingsDaemon.Datetime.target
+Wants=org.gnome.SettingsDaemon.Housekeeping.target
+Wants=org.gnome.SettingsDaemon.Keyboard.target
+Wants=org.gnome.SettingsDaemon.MediaKeys.target
+Wants=org.gnome.SettingsDaemon.Power.target
+Wants=org.gnome.SettingsDaemon.PrintNotifications.target
+Wants=org.gnome.SettingsDaemon.Rfkill.target
+Wants=org.gnome.SettingsDaemon.ScreensaverProxy.target
+Wants=org.gnome.SettingsDaemon.Sharing.target
+Wants=org.gnome.SettingsDaemon.Smartcard.target
+Wants=org.gnome.SettingsDaemon.Sound.target
+Wants=org.gnome.SettingsDaemon.Wacom.target
+Wants=org.gnome.SettingsDaemon.XSettings.target
+
+Requires=org.gnome.Shell.target