summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <halfline@gmail.com>2020-08-10 18:29:42 +0000
committerRay Strode <halfline@gmail.com>2020-08-10 18:29:42 +0000
commit381495cb47c3b4aacf4601b0cf921a8973ae7f6d (patch)
tree54c72ba621db1122fb217460582e64ebe7ea4a76
parentdc10790e850e507fedfe64d3449cbbb2f5d146f6 (diff)
parentc4a72a0aac2967b1bbdeafc7ccb940afd1c22d3e (diff)
downloadgdm-381495cb47c3b4aacf4601b0cf921a8973ae7f6d.tar.gz
Merge branch 'benzea/systemd-3-36' into 'master'
GNOME 3.38 systemd session update See merge request GNOME/gdm!88
-rw-r--r--data/gnome-login.session.in1
-rw-r--r--data/meson.build13
-rw-r--r--data/session.conf19
-rw-r--r--meson_options.txt1
4 files changed, 34 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
diff --git a/meson_options.txt b/meson_options.txt
index 2de7ca52..040fe383 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -29,6 +29,7 @@ option('split-authentication', type: 'boolean', value: true, description: 'Enabl
option('sysconfsubdir', type: 'string', value: 'gdm', description: 'Directory name used under sysconfdir.')
option('systemd-journal', type: 'boolean', value: false, description: 'Add journald support.')
option('systemdsystemunitdir', type: 'string', value: '', description: 'Directory for systemd service files.')
+option('systemduserunitdir', type: 'string', value: '', description: 'Directory for systemd user service files.')
option('tcp-wrappers', type: 'boolean', value: false, description: 'Use TCP wrappers.')
option('udev-dir', type: 'string', value: '', description: 'Directory for udev rules file.')
option('user', type: 'string', value: 'gdm', description: 'GDM\'s username.')