data: Leave to meson the duty of keeping the lists in sync
Don't leave to humans what machines can do, the gnome.session.desktop.in.in is filled with an hard-to-maintain single-line semicolon separated list of components, that then are repeated in the gnome systemd gnome.session.conf. And these are meant to be kept in sync.
Meson can help us in this, so let's just keep a single list in meson and use it to generate the various formats we need.
Using a map to keep the components so that this can be easily adapted and possibly new sessions can be defined.
As you can check, no change in results:
❯ diff -ur _INSTALL_PRE _INSTALL
Binary files _INSTALL_PRE/usr/local/bin/gnome-session-inhibit and _INSTALL/usr/local/bin/gnome-session-inhibit differ
Binary files _INSTALL_PRE/usr/local/bin/gnome-session-quit and _INSTALL/usr/local/bin/gnome-session-quit differ
diff --color -ur _INSTALL_PRE/usr/local/lib/systemd/user/gnome-session@gnome.target.d/session.conf _INSTALL/usr/local/lib/systemd/user/gnome-session@gnome.target.d/session.conf
--- _INSTALL_PRE/usr/local/lib/systemd/user/gnome-session@gnome.target.d/session.conf 2020-08-31 16:41:14.497029109 +0200
+++ _INSTALL/usr/local/lib/systemd/user/gnome-session@gnome.target.d/session.conf 2020-08-31 16:31:14.430599102 +0200
@@ -1,5 +1,4 @@
[Unit]
-# Keep in sync with gnome.session
Wants=org.gnome.SettingsDaemon.A11ySettings.target
Wants=org.gnome.SettingsDaemon.Color.target
Wants=org.gnome.SettingsDaemon.Datetime.target
Binary files _INSTALL_PRE/usr/local/libexec/gnome-session-binary and _INSTALL/usr/local/libexec/gnome-session-binary differ
Binary files _INSTALL_PRE/usr/local/libexec/gnome-session-check-accelerated and _INSTALL/usr/local/libexec/gnome-session-check-accelerated differ
Binary files _INSTALL_PRE/usr/local/libexec/gnome-session-check-accelerated-gles-helper and _INSTALL/usr/local/libexec/gnome-session-check-accelerated-gles-helper differ
Binary files _INSTALL_PRE/usr/local/libexec/gnome-session-check-accelerated-gl-helper and _INSTALL/usr/local/libexec/gnome-session-check-accelerated-gl-helper differ
Binary files _INSTALL_PRE/usr/local/libexec/gnome-session-ctl and _INSTALL/usr/local/libexec/gnome-session-ctl differ
Binary files _INSTALL_PRE/usr/local/libexec/gnome-session-failed and _INSTALL/usr/local/libexec/gnome-session-failed differ
diff --color -ur _INSTALL_PRE/usr/local/share/gnome-session/sessions/gnome.session _INSTALL/usr/local/share/gnome-session/sessions/gnome.session
--- _INSTALL_PRE/usr/local/share/gnome-session/sessions/gnome.session 2020-08-31 16:41:32.632862641 +0200
+++ _INSTALL/usr/local/share/gnome-session/sessions/gnome.session 2020-08-31 16:40:30.917429513 +0200
@@ -91,5 +91,4 @@
Name[zh_HK]=GNOME
Name[zh_TW]=GNOME
Name=GNOME
-# Keep in sync with gnome-session@gnome.target.d/session.conf drop-in
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.UsbProtection;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;