From d90092b6f2d57728bdb61adfde56d4b593050277 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 19 Jul 2016 09:49:49 +0200 Subject: Adding a systemd user session unit --- data/CMakeLists.txt | 30 ++++++++++++++++++++++++++++++ data/indicator-display.override | 1 + data/indicator-display.service.in | 7 +++++++ debian/control | 3 +++ 4 files changed, 41 insertions(+) create mode 100644 data/indicator-display.override create mode 100644 data/indicator-display.service.in diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 7edaa44..4fbb925 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -59,6 +59,36 @@ install (FILES "${UPSTART_XDG_AUTOSTART_FILE}" DESTINATION "${UPSTART_XDG_AUTOSTART_DIR}" RENAME "${XDG_AUTOSTART_NAME}") +## +## Systemd Unit File +## + +# where to install +pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir) +message (STATUS "${SYSTEMD_USER_DIR} is the systemd user unit file install dir") + +set (SYSTEMD_USER_NAME "${CMAKE_PROJECT_NAME}.service") +set (SYSTEMD_USER_FILE "${CMAKE_CURRENT_BINARY_DIR}/${SYSTEMD_USER_NAME}") +set (SYSTEMD_USER_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${SYSTEMD_USER_NAME}.in") + +# build it +set (pkglibexecdir "${CMAKE_INSTALL_FULL_PKGLIBEXECDIR}") +configure_file ("${SYSTEMD_USER_FILE_IN}" "${SYSTEMD_USER_FILE}") + +# install it +install (FILES "${SYSTEMD_USER_FILE}" + DESTINATION "${SYSTEMD_USER_DIR}") + +## +## Upstart systemd override Job File +## + +set (UPSTART_SYSTEMD_OVERRIDE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/upstart/systemd-session/upstart") +message (STATUS "${UPSTART_SYSTEMD_OVERRIDE_DIR} is the Upstart override Job File for systemd dir") + +install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.override" + DESTINATION "${UPSTART_SYSTEMD_OVERRIDE_DIR}") + ## ## Unity Indicator File ## diff --git a/data/indicator-display.override b/data/indicator-display.override new file mode 100644 index 0000000..2905494 --- /dev/null +++ b/data/indicator-display.override @@ -0,0 +1 @@ +manual diff --git a/data/indicator-display.service.in b/data/indicator-display.service.in new file mode 100644 index 0000000..78e38ad --- /dev/null +++ b/data/indicator-display.service.in @@ -0,0 +1,7 @@ +[Unit] +Description=Indicator Display Backend +PartOf=graphical-session.target +After=indicators-pre.target + +[Service] +ExecStart=@pkglibexecdir@/indicator-display-service diff --git a/debian/control b/debian/control index 90e2590..65950a2 100644 --- a/debian/control +++ b/debian/control @@ -23,6 +23,8 @@ Build-Depends: cmake, # for packaging debhelper (>= 9), dh-translations, +# for systemd unit + systemd, Standards-Version: 3.9.5 Homepage: http://launchpad.net/indicator-display/ X-Ubuntu-Use-Langpack: yes @@ -36,5 +38,6 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, gsettings-ubuntu-schemas (>= 0.0.2+14.10.20140813), + indicator-common, Description: Collection of small indicators Indicators too small to merit separate codebases, such as Rotation Lock -- cgit v1.2.3 From 1d5f8282d47be8e1ac622f9400ded151ef226da6 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 19 Jul 2016 09:57:04 +0200 Subject: Vivid is amazing --- data/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 4fbb925..2e42eda 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -64,7 +64,9 @@ install (FILES "${UPSTART_XDG_AUTOSTART_FILE}" ## # where to install -pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir) +# Uncomment when we drop Vivid +# pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir) +set (SYSTEMD_USER_DIR "/usr/lib/systemd/user") message (STATUS "${SYSTEMD_USER_DIR} is the systemd user unit file install dir") set (SYSTEMD_USER_NAME "${CMAKE_PROJECT_NAME}.service") -- cgit v1.2.3 From 8ede639e1d729183f8e6324fe2dd9c2269f22e41 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 20 Jul 2016 08:57:59 +0200 Subject: Adding a restart rule --- data/indicator-display.service.in | 1 + 1 file changed, 1 insertion(+) diff --git a/data/indicator-display.service.in b/data/indicator-display.service.in index 78e38ad..8245917 100644 --- a/data/indicator-display.service.in +++ b/data/indicator-display.service.in @@ -5,3 +5,4 @@ After=indicators-pre.target [Service] ExecStart=@pkglibexecdir@/indicator-display-service +Restart=on-failure -- cgit v1.2.3