[gnome-shell/wip/laney/systemd-user] Add a systemd unit
- From: Iain Lane <iainl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/laney/systemd-user] Add a systemd unit
- Date: Wed, 17 Jan 2018 15:57:36 +0000 (UTC)
commit 6f5915d3cd3b733ca2888dd3952525aa96eec1ad
Author: Iain Lane <iain orangesquash org uk>
Date: Wed Jan 17 15:56:17 2018 +0000
Add a systemd unit
So that we can be started by systemd --user, instead of gnome-session.
data/gnome-shell.service.in | 12 ++++++++++++
data/meson.build | 16 ++++++++++++++++
meson.build | 7 ++++---
src/meson.build | 2 +-
4 files changed, 33 insertions(+), 4 deletions(-)
---
diff --git a/data/gnome-shell.service.in b/data/gnome-shell.service.in
new file mode 100644
index 0000000..0baf24d
--- /dev/null
+++ b/data/gnome-shell.service.in
@@ -0,0 +1,12 @@
+[Unit]
+Description=GNOME Shell
+Wants=gnome-session.service gnome-settings-daemon.target
+After=gnome-session.service gnome-settings-daemon.target graphical-session-pre.target
+PartOf=graphical-session.target
+
+[Service]
+ExecStart=@bindir@/gnome-shell
+Restart=on-failure
+
+[Install]
+RequiredBy=gnome-session.target
diff --git a/data/meson.build b/data/meson.build
index 032e3f0..589d77e 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -85,6 +85,22 @@ schema = configure_file(
install_dir: schemadir
)
+unitconf = configuration_data()
+unitconf.set('bindir', bindir)
+
+if have_systemd
+ systemduserunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir')
+else
+ systemduserunitdir = join_paths(libdir, 'systemd', 'user')
+endif
+
+unit = configure_file(
+ input: 'gnome-shell.service.in',
+ output: 'gnome-shell.service',
+ configuration: unitconf,
+ install_dir: systemduserunitdir
+)
+
# for unit tests - gnome.compile_schemas() only looks in srcdir
custom_target('compile-schemas',
input: schema,
diff --git a/meson.build b/meson.build
index 988fcb7..64a0389 100644
--- a/meson.build
+++ b/meson.build
@@ -114,10 +114,11 @@ else
endif
if get_option('systemd')
- systemd_dep = dependency('libsystemd')
- have_systemd = systemd_dep.found()
+ libsystemd_dep = dependency('libsystemd')
+ systemd_dep = dependency('systemd')
+ have_systemd = libsystemd_dep.found()
else
- systemd_dep = []
+ libsystemd_dep = []
have_systemd = false
endif
diff --git a/src/meson.build b/src/meson.build
index 3e55573..e082c88 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -54,7 +54,7 @@ gnome_shell_deps = [
canberra_dep, canberra_gtk_dep,
polkit_dep,
gcr_dep,
- systemd_dep
+ libsystemd_dep
]
gnome_shell_deps += nm_deps
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]