aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Tari <robert@tari.in>2020-08-11 08:58:52 +0200
committerRobert Tari <robert@tari.in>2020-08-11 08:58:52 +0200
commit3fc4dab5c4407697115fb14f6f23444de1206544 (patch)
treecde5d3c938510950c54981db42c45367cbb83b5f
parent474e1d6f82bd95afa4c427c3354e3970bae594f5 (diff)
parentda02fa1cbc2443628289661b48dc0f635532acf1 (diff)
downloadayatana-indicator-messages-3fc4dab5c4407697115fb14f6f23444de1206544.tar.gz
ayatana-indicator-messages-3fc4dab5c4407697115fb14f6f23444de1206544.tar.bz2
ayatana-indicator-messages-3fc4dab5c4407697115fb14f6f23444de1206544.zip
Merge branch 'sunweaver-pr/systemd-service-file'
Attributes GH PR #11: https://github.com/AyatanaIndicators/ayatana-indicator-messages/pull/11
-rw-r--r--configure.ac13
-rw-r--r--data/Makefile.am23
-rw-r--r--data/ayatana-indicator-messages.conf.in9
-rw-r--r--data/ayatana-indicator-messages.service.in11
-rw-r--r--debian/ayatana-indicator-messages.install2
-rw-r--r--debian/ayatana-indicator-messages.links3
-rw-r--r--debian/control2
-rwxr-xr-xdebian/rules2
8 files changed, 46 insertions, 19 deletions
diff --git a/configure.ac b/configure.ac
index f446f43..573979c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -62,6 +62,19 @@ AC_ARG_WITH([indicator-dir],
[with_indicator_dir=$datadir/ayatana/indicators])
AC_SUBST([INDICATOR_DIR], [$with_indicator_dir])
+#########################
+# Check for systemd
+#########################
+PKG_CHECK_MODULES(SYSTEMD, systemd,
+ [has_systemd=yes],
+ []
+)
+if test "x$has_systemd" = "xyes"; then
+ SYSTEMD_USERDIR=`$PKG_CONFIG --variable=systemduserunitdir systemd`
+ AC_SUBST(SYSTEMD_USERDIR)
+ AC_DEFINE(HAVE_SYSTEMD, 1, [create ayatana-indicator-application.service for systemd])
+fi
+
###########################
# gcov coverage reporting
###########################
diff --git a/data/Makefile.am b/data/Makefile.am
index 60dd839..b88aee5 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,3 +1,5 @@
+NULL =
+
SUBDIRS = icons
xdg_autostartdir = /etc/xdg/autostart
@@ -6,23 +8,28 @@ xdg_autostart_DATA = ayatana-indicator-messages.desktop
%.desktop: %.desktop.in
$(AM_V_GEN) sed -e "s|\@pkglibexecdir\@|$(pkglibexecdir)|" $< > $@
-upstart_jobsdir = $(datadir)/upstart/sessions/
-upstart_jobs_DATA = ayatana-indicator-messages.conf
+gsettings_SCHEMAS = org.ayatana.indicator.messages.gschema.xml
+@GSETTINGS_RULES@
-%.conf: %.conf.in
+#if defined(HAVE_SYSTEMD)
+systemdservice_file = ayatana-indicator-messages.service
+$(systemdservice_file): $(systemdservice_file).in
$(AM_V_GEN) sed -e "s|\@pkglibexecdir\@|$(pkglibexecdir)|" $< > $@
-gsettings_SCHEMAS = org.ayatana.indicator.messages.gschema.xml
-@GSETTINGS_RULES@
+systemddir = $(SYSTEMD_USERDIR)
+systemd_DATA = $(systemdservice_file)
+#endif
indicatordir = $(INDICATOR_DIR)
dist_indicator_DATA = org.ayatana.indicator.messages
EXTRA_DIST = \
ayatana-indicator-messages.desktop.in \
- ayatana-indicator-messages.conf.in \
- $(gsettings_SCHEMAS)
+ $(gsettings_SCHEMAS) \
+ $(systemdservice_file).in \
+ $(NULL)
CLEANFILES = \
$(xdg_autostart_DATA) \
- $(upstart_jobs_DATA)
+ $(systemdservice_file) \
+ $(NULL)
diff --git a/data/ayatana-indicator-messages.conf.in b/data/ayatana-indicator-messages.conf.in
deleted file mode 100644
index ed7a4b6..0000000
--- a/data/ayatana-indicator-messages.conf.in
+++ /dev/null
@@ -1,9 +0,0 @@
-description "Ayatana Indicator Messages Service"
-
-start on ayatana-indicator-services-start
-stop on desktop-end or ayatana-indicator-services-end
-
-respawn
-respawn limit 2 10
-
-exec $SNAP@pkglibexecdir@/ayatana-indicator-messages-service
diff --git a/data/ayatana-indicator-messages.service.in b/data/ayatana-indicator-messages.service.in
new file mode 100644
index 0000000..a0a3ba0
--- /dev/null
+++ b/data/ayatana-indicator-messages.service.in
@@ -0,0 +1,11 @@
+[Unit]
+Description=Ayatana Indicator Messages Service
+PartOf=graphical-session.target
+PartOf=ayatana-indicators.target
+
+[Service]
+ExecStart=@pkglibexecdir@/ayatana-indicator-messages-service
+Restart=on-failure
+
+[Install]
+WantedBy=ayatana-indicators.target
diff --git a/debian/ayatana-indicator-messages.install b/debian/ayatana-indicator-messages.install
index 8cf384a..47c562c 100644
--- a/debian/ayatana-indicator-messages.install
+++ b/debian/ayatana-indicator-messages.install
@@ -1,6 +1,6 @@
usr/lib/*/ayatana-indicator-messages/ayatana-indicator-messages-service
+usr/lib/systemd
usr/share/ayatana/indicators
-usr/share/upstart
usr/share/glib-2.0
usr/share/icons
usr/share/locale
diff --git a/debian/ayatana-indicator-messages.links b/debian/ayatana-indicator-messages.links
new file mode 100644
index 0000000..0bf0328
--- /dev/null
+++ b/debian/ayatana-indicator-messages.links
@@ -0,0 +1,3 @@
+# Because dh-systemd does not support user units for compat levels below 12, we manually make the WantedBy link
+# FIXME: drop this once we bump DH compat level to 12 or higher
+/usr/lib/systemd/user/ayatana-indicator-messages.service /usr/lib/systemd/user/ayatana-indicators.target.wants/ayatana-indicator-messages.service \ No newline at end of file
diff --git a/debian/control b/debian/control
index 027f665..648990d 100644
--- a/debian/control
+++ b/debian/control
@@ -4,6 +4,7 @@ Priority: optional
Maintainer: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Build-Depends: debhelper (>= 9),
dh-autoreconf | debhelper (>= 9.20160403~),
+ dh-systemd | debhelper (>= 10.2~),
gobject-introspection (>= 0.9.12-4~),
gtk-doc-tools,
intltool,
@@ -14,6 +15,7 @@ Build-Depends: debhelper (>= 9),
mate-common,
python3-dbusmock,
valac,
+ systemd [linux-any],
Standards-Version: 4.2.1
Homepage: https://github.com/AyatanaIndicators/ayatana-indicator-messages
Vcs-Git: https://github.com/AyatanaIndicators/ayatana-indicator-messages
diff --git a/debian/rules b/debian/rules
index eb8bcc6..e97abfe 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,7 +7,7 @@ DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
%:
- dh $@ --with autoreconf,gir
+ dh $@ --with autoreconf,gir,systemd
override_dh_autoreconf:
if [ ! -e po/ayatana-indicator-messages.pot.bak ]; then \