From 8c6f26a654948ffb0b64f378a8a7e7932abf950e Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 6 Dec 2013 17:00:26 +0000 Subject: Switching DBus service to an Upstart Job. --- data/Makefile.am | 36 +++++++++++++++++++++++++++--------- data/indicator-bluetooth.conf.in | 11 +++++++++++ data/indicator-bluetooth.desktop.in | 8 ++++++++ data/indicator-bluetooth.service.in | 3 --- 4 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 data/indicator-bluetooth.conf.in create mode 100644 data/indicator-bluetooth.desktop.in delete mode 100644 data/indicator-bluetooth.service.in diff --git a/data/Makefile.am b/data/Makefile.am index fc9beee..ec60c73 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,23 +1,41 @@ +BUILT_SOURCES = +EXTRA_DIST = +CLEANFILES = # the indicator bus file indicatorsdir = $(datadir)/unity/indicators dist_indicators_DATA = com.canonical.indicator.bluetooth -# the dbus service file -dbus_servicesdir = $(datadir)/dbus-1/services -dbus_services_DATA = indicator-bluetooth.service +# the upstart job file +upstart_jobsdir = $(datadir)/upstart/sessions +upstart_jobs_DATA = indicator-bluetooth.conf +upstart_jobs_in = $(upstart_jobs_DATA:.conf=.conf.in) +$(upstart_jobs_DATA): $(upstart_jobs_in) + $(AM_V_GEN) $(SED) -e "s|\@pkglibexecdir\@|$(pkglibexecdir)|" $< > $@ +BUILT_SOURCES += $(upstart_jobs_DATA) +EXTRA_DIST += $(upstart_jobs_in) +CLEANFILES += $(upstart_jobs_DATA) -%.service: %.service.in - sed -e "s|\@pkglibexecdir\@|$(pkglibexecdir)|" $< > $@ +# the xdg autostart job file +xdg_autostartdir = /etc/xdg/autostart +xdg_autostart_DATA = indicator-bluetooth.desktop +xdg_autostart_in = $(xdg_autostart_DATA:.desktop=.desktop.in) +$(xdg_autostart_DATA): $(xdg_autostart_in) + $(AM_V_GEN) $(SED) -e "s|\@pkglibexecdir\@|$(pkglibexecdir)|" $< > $@ +BUILT_SOURCES += $(xdg_autostart_DATA) +EXTRA_DIST += $(xdg_autostart_in) +CLEANFILES += $(xdg_autostart_DATA) +# the gsettings schema gsettings_SCHEMAS = com.canonical.indicator.bluetooth.gschema.xml @INTLTOOL_XML_NOMERGE_RULE@ @GSETTINGS_RULES@ -EXTRA_DIST = \ - indicator-bluetooth.service.in \ - com.canonical.indicator.bluetooth.gschema.xml.in +EXTRA_DIST += \ + com.canonical.indicator.bluetooth.gschema.xml.in \ + indicator-bluetooth.conf.in \ + indicator-bluetooth.desktop.in -CLEANFILES = \ +CLEANFILES += \ $(dbus_services_DATA) \ $(gsettings_SCHEMAS) diff --git a/data/indicator-bluetooth.conf.in b/data/indicator-bluetooth.conf.in new file mode 100644 index 0000000..c23665c --- /dev/null +++ b/data/indicator-bluetooth.conf.in @@ -0,0 +1,11 @@ +description "Indicator Bluetooth Backend" + +# Want to move to indicator-services-[start|end], but that's not all +# there yet. Use the signals that exist today for now. + +start on indicators-loaded or indicator-services-start +stop on desktop-end or indicator-services-end + +respawn + +exec @pkglibexecdir@/indicator-bluetooth-service diff --git a/data/indicator-bluetooth.desktop.in b/data/indicator-bluetooth.desktop.in new file mode 100644 index 0000000..4c762a2 --- /dev/null +++ b/data/indicator-bluetooth.desktop.in @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=Indicator Bluetooth +Exec=@pkglibexecdir@/indicator-bluetooth-service +NotShowIn=Unity; +NoDisplay=true +StartupNotify=false +Terminal=false diff --git a/data/indicator-bluetooth.service.in b/data/indicator-bluetooth.service.in deleted file mode 100644 index 4d1c445..0000000 --- a/data/indicator-bluetooth.service.in +++ /dev/null @@ -1,3 +0,0 @@ -[D-BUS Service] -Name=com.canonical.indicator.bluetooth -Exec=@pkglibexecdir@/indicator-bluetooth-service -- cgit v1.2.3 From 004680a07cd38a90417d8740dbfcbcae54494e28 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Wed, 18 Dec 2013 06:53:29 -0600 Subject: add a second .desktop file to be installed in /usr/share/upstart/xdg/autostart with Hidden=true --- data/Makefile.am | 14 +++++++++++++- data/indicator-bluetooth.upstart.desktop.in | 8 ++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 data/indicator-bluetooth.upstart.desktop.in diff --git a/data/Makefile.am b/data/Makefile.am index ec60c73..9784451 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -16,6 +16,17 @@ BUILT_SOURCES += $(upstart_jobs_DATA) EXTRA_DIST += $(upstart_jobs_in) CLEANFILES += $(upstart_jobs_DATA) +# the upstart version of the xdg autostart job file +# see https://code.launchpad.net/~charlesk/indicator-bluetooth/upstart-job/+merge/198100 +upstart_xdg_autostartdir = $(datadir)/upstart/xdg/autostart +upstart_xdg_autostart_DATA = indicator-bluetooth.desktop +upstart_xdg_autostart_in = indicator-bluetooth.upstart.desktop.in +$(upstart_xdg_autostart_DATA): $(upstart_xdg_autostart_in) + $(AM_V_GEN) $(SED) -e "s|\@pkglibexecdir\@|$(pkglibexecdir)|" $< > $@ +BUILT_SOURCES += $(upstart_xdg_autostart_DATA) +EXTRA_DIST += $(upstart_xdg_autostart_in) +CLEANFILES += $(upstart_xdg_autostart_DATA) + # the xdg autostart job file xdg_autostartdir = /etc/xdg/autostart xdg_autostart_DATA = indicator-bluetooth.desktop @@ -34,7 +45,8 @@ gsettings_SCHEMAS = com.canonical.indicator.bluetooth.gschema.xml EXTRA_DIST += \ com.canonical.indicator.bluetooth.gschema.xml.in \ indicator-bluetooth.conf.in \ - indicator-bluetooth.desktop.in + indicator-bluetooth.desktop.in \ + indicator-bluetooth.upstart.desktop.in CLEANFILES += \ $(dbus_services_DATA) \ diff --git a/data/indicator-bluetooth.upstart.desktop.in b/data/indicator-bluetooth.upstart.desktop.in new file mode 100644 index 0000000..5c9dcaf --- /dev/null +++ b/data/indicator-bluetooth.upstart.desktop.in @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=Indicator Bluetooth +Exec=@pkglibexecdir@/indicator-bluetooth-service +NoDisplay=true +StartupNotify=false +Terminal=false +Hidden=true -- cgit v1.2.3 From 33dc5dc1c369eaf6dc53eed4759731441b4618fb Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Wed, 18 Dec 2013 06:53:49 -0600 Subject: remove NotShowIn=Unity from the main .desktop file --- data/indicator-bluetooth.desktop.in | 1 - 1 file changed, 1 deletion(-) diff --git a/data/indicator-bluetooth.desktop.in b/data/indicator-bluetooth.desktop.in index 4c762a2..dc9fd1b 100644 --- a/data/indicator-bluetooth.desktop.in +++ b/data/indicator-bluetooth.desktop.in @@ -2,7 +2,6 @@ Type=Application Name=Indicator Bluetooth Exec=@pkglibexecdir@/indicator-bluetooth-service -NotShowIn=Unity; NoDisplay=true StartupNotify=false Terminal=false -- cgit v1.2.3