diff options
author | Will Thompson <will@willthompson.co.uk> | 2019-08-05 15:37:55 +0000 |
---|---|---|
committer | Will Thompson <will@willthompson.co.uk> | 2019-08-05 15:37:55 +0000 |
commit | 14b98357cfc05ee28bf24dae3f5e157a78857a07 (patch) | |
tree | fc9062ada1723f8b606e8dc96c6926619dc011f7 /data | |
parent | 6bf12319dbbb4dfe52250de0005dec7fba347c99 (diff) | |
parent | cf8430f6a6d8e33573916a52a8783672b9f84777 (diff) | |
download | gnome-initial-setup-14b98357cfc05ee28bf24dae3f5e157a78857a07.tar.gz |
Merge branch 'wip/benzea/systemd-user' into 'master'
Use systemd user instance
See merge request GNOME/gnome-initial-setup!38
Diffstat (limited to 'data')
-rw-r--r-- | data/gnome-initial-setup-copy-worker.desktop.in.in | 1 | ||||
-rw-r--r-- | data/gnome-initial-setup-copy-worker.service.in | 15 | ||||
-rw-r--r-- | data/gnome-initial-setup-first-login.desktop.in.in | 1 | ||||
-rw-r--r-- | data/gnome-initial-setup-first-login.service.in | 19 | ||||
-rw-r--r-- | data/gnome-initial-setup.service.in | 16 | ||||
-rw-r--r-- | data/gnome-initial-setup.session | 3 | ||||
-rw-r--r-- | data/gnome-welcome-tour.desktop.in.in | 1 | ||||
-rw-r--r-- | data/gnome-welcome-tour.service.in | 15 | ||||
-rw-r--r-- | data/meson.build | 35 | ||||
-rw-r--r-- | data/setup-shell.desktop | 8 |
10 files changed, 93 insertions, 21 deletions
diff --git a/data/gnome-initial-setup-copy-worker.desktop.in.in b/data/gnome-initial-setup-copy-worker.desktop.in.in index d1ebb66..7e4b2a4 100644 --- a/data/gnome-initial-setup-copy-worker.desktop.in.in +++ b/data/gnome-initial-setup-copy-worker.desktop.in.in @@ -7,3 +7,4 @@ NoDisplay=true X-GNOME-AutoRestart=false X-GNOME-Autostart-Phase=EarlyInitialization AutostartCondition=unless-exists gnome-initial-setup-done +X-GNOME-HiddenUnderSystemd=@systemd_hidden@ diff --git a/data/gnome-initial-setup-copy-worker.service.in b/data/gnome-initial-setup-copy-worker.service.in new file mode 100644 index 0000000..df43c39 --- /dev/null +++ b/data/gnome-initial-setup-copy-worker.service.in @@ -0,0 +1,15 @@ +[Unit] +Description=GNOME Initial Setup Copy Worker + +# Make sure we run really early +Before=gnome-session-pre.target graphical-session-pre.target + +ConditionPathExists=!%E/gnome-initial-setup-done + +[Service] +Type=simple +ExecStart=@libexecdir@/gnome-initial-setup-copy-worker +Restart=no + +[Install] +WantedBy=gnome-session.target diff --git a/data/gnome-initial-setup-first-login.desktop.in.in b/data/gnome-initial-setup-first-login.desktop.in.in index 8445e03..6b81591 100644 --- a/data/gnome-initial-setup-first-login.desktop.in.in +++ b/data/gnome-initial-setup-first-login.desktop.in.in @@ -14,3 +14,4 @@ X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=gnome-initial-setup X-GNOME-Bugzilla-Component=general X-GNOME-Bugzilla-Version=unknown +X-GNOME-HiddenUnderSystemd=@systemd_hidden@ diff --git a/data/gnome-initial-setup-first-login.service.in b/data/gnome-initial-setup-first-login.service.in new file mode 100644 index 0000000..7c7f50d --- /dev/null +++ b/data/gnome-initial-setup-first-login.service.in @@ -0,0 +1,19 @@ +[Unit] +Description=GNOME Initial Setup + +BindsTo=gnome-session.target +After=gnome-session.target + +# Together with Type=oneshot, make sure the welcome tour starts after setup +Before=gnome-welcome-tour.service + +Conflicts=gnome-session@gnome-initial-setup.target +ConditionPathExists=!%E/gnome-initial-setup-done + +[Service] +Type=oneshot +ExecStart=@libexecdir@/gnome-initial-setup --existing-user +Restart=no + +[Install] +WantedBy=gnome-session.target diff --git a/data/gnome-initial-setup.service.in b/data/gnome-initial-setup.service.in new file mode 100644 index 0000000..ea91d69 --- /dev/null +++ b/data/gnome-initial-setup.service.in @@ -0,0 +1,16 @@ +[Unit] +Description=GNOME Initial Setup +RefuseManualStart=true +RefuseManualStop=true + +BindsTo=gnome-session.target +After=gnome-session.target + +[Service] +Type=simple +ExecStart=@libexecdir@/gnome-initial-setup +ExecStopPost=-@libexecdir@/gnome-session-ctl --shutdown +Restart=no + +[Install] +WantedBy=gnome-session@gnome-initial-setup.target diff --git a/data/gnome-initial-setup.session b/data/gnome-initial-setup.session index e4c5460..f6d7e92 100644 --- a/data/gnome-initial-setup.session +++ b/data/gnome-initial-setup.session @@ -1,4 +1,3 @@ [GNOME Session] Name=GNOME Initial Setup -RequiredComponents=setup-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; - +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-welcome-tour.desktop.in.in b/data/gnome-welcome-tour.desktop.in.in index 22e4536..45d82e5 100644 --- a/data/gnome-welcome-tour.desktop.in.in +++ b/data/gnome-welcome-tour.desktop.in.in @@ -5,3 +5,4 @@ Exec=@LIBEXECDIR@/gnome-welcome-tour AutostartCondition=if-exists run-welcome-tour OnlyShowIn=GNOME; NoDisplay=true +X-GNOME-HiddenUnderSystemd=@systemd_hidden@ diff --git a/data/gnome-welcome-tour.service.in b/data/gnome-welcome-tour.service.in new file mode 100644 index 0000000..2315540 --- /dev/null +++ b/data/gnome-welcome-tour.service.in @@ -0,0 +1,15 @@ +[Unit] +Description=GNOME Welcome Tour + +BindsTo=gnome-session.target +After=gnome-session.target + +ConditionPathExists=%E/run-welcome-tour + +[Service] +Type=simple +ExecStart=@libexecdir@/gnome-welcome-tour +Restart=no + +[Install] +WantedBy=gnome-session.target diff --git a/data/meson.build b/data/meson.build index 8fa6f29..9aa79bf 100644 --- a/data/meson.build +++ b/data/meson.build @@ -5,7 +5,8 @@ autostart_files = [ ] desktop_conf = configuration_data() -desktop_conf.set('LIBEXECDIR', join_paths(prefix, get_option('libexecdir'))) +desktop_conf.set('LIBEXECDIR', libexec_dir) +desktop_conf.set('systemd_hidden', enable_systemd ? 'true' : 'false') foreach desktop_file: autostart_files i18n.merge_file( @@ -25,16 +26,6 @@ endforeach i18n.merge_file( 'desktop', - input: 'setup-shell.desktop', - output: 'setup-shell.desktop', - install_dir: join_paths(data_dir, 'gdm', 'greeter', 'applications'), - po_dir: po_dir, - install: true, - type: 'desktop' -) - -i18n.merge_file( - 'desktop', input: configure_file( input: files('gnome-initial-setup.desktop.in.in'), output: 'gnome-initial-setup.desktop.in', @@ -47,6 +38,28 @@ i18n.merge_file( type: 'desktop' ) +if enable_systemd + unitconf = configuration_data() + unitconf.set('libexecdir', libexec_dir) + + unit_files = [ + 'gnome-initial-setup.service', + 'gnome-initial-setup-first-login.service', + 'gnome-initial-setup-copy-worker.service', + 'gnome-welcome-tour.service' + ] + + foreach unit: unit_files + configure_file( + input: unit + '.in', + output: unit, + configuration: unitconf, + install_dir: systemd_userunitdir + ) + endforeach +endif + + rules_dir = join_paths(data_dir, 'polkit-1', 'rules.d') install_data('20-gnome-initial-setup.rules', install_dir: rules_dir) diff --git a/data/setup-shell.desktop b/data/setup-shell.desktop deleted file mode 100644 index cce175e..0000000 --- a/data/setup-shell.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Type=Application -Name=GNOME Shell -Exec=gnome-shell --mode=initial-setup -X-GNOME-AutoRestart=true -X-GNOME-Autostart-Phase=DisplayServer -X-GNOME-Provides=panel;windowmanager; -X-GNOME-Autostart-Notify=true |