Add support for systemd socket activation for notification service 32/9932/3 accepted/tizen/20130919.180124 accepted/tizen/20130920.205114 submit/tizen/20130919.025324
authorRusty Lynch <rusty.lynch@intel.com>
Wed, 11 Sep 2013 20:13:40 +0000 (13:13 -0700)
committerRusty Lynch <rusty.lynch@intel.com>
Wed, 18 Sep 2013 03:27:43 +0000 (20:27 -0700)
The notificaiton library no longer depends on the vconf based IPC
mechanism for listening for the master to start, instead utilizing
the systemd based socket activation.

Change-Id: I25b74270a3db040442decb9e66df419d90c53eca
Signed-off-by: Rusty Lynch <rusty.lynch@intel.com>
data/CMakeLists.txt
data/data-provider-master.socket [new file with mode: 0644]
include/conf.h
packaging/data-provider-master.changes
packaging/data-provider-master.spec
src/main.c

index 772eac6..133698e 100644 (file)
@@ -1,2 +1,4 @@
 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/data-provider-master DESTINATION /etc/rc.d/init.d/ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/data-provider-master.service DESTINATION /usr/lib/systemd/user/ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/data-provider-master.socket DESTINATION /usr/lib/systemd/user/ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
+
diff --git a/data/data-provider-master.socket b/data/data-provider-master.socket
new file mode 100644 (file)
index 0000000..983f488
--- /dev/null
@@ -0,0 +1,8 @@
+[Unit]
+Description=Data Provider daemon
+
+[Socket]
+ListenStream=/tmp/.notification.service
+
+[Install]
+WantedBy=sockets.target
index 7dd31a2..c15010a 100644 (file)
@@ -155,10 +155,6 @@ extern int conf_loader(void);
 #define DEFAULT_CLUSTER        "user,created"
 #define MINIMUM_REACTIVATION_TIME      10
 
-#if !defined(VCONFKEY_MASTER_STARTED)
-#define VCONFKEY_MASTER_STARTED        "memory/data-provider-master/started"
-#endif
-
 #define USE_XMONITOR           g_conf.use_xmonitor
 
 #define HAPI __attribute__((visibility("hidden")))
index a4c9c74..5e22b27 100644 (file)
@@ -1,3 +1,6 @@
+* Wed Sep 11 2013 Rusty Lynch <rusty.lynch@intel.com> accepted/tizen/20130620.160431@d15ede1
+- Add support for systemd socket activation for notification service
+
 * Thu Jun 20 2013 Victor Hakoun <victor.hakoun@eurogiciel.fr> accepted/tizen/20130620.115235@e8bd452
 - Replace manifest with default floor
 
index c4eeb0e..6cd320a 100644 (file)
@@ -56,10 +56,13 @@ mkdir -p %{buildroot}/opt/usr/share/live_magazine/always
 mkdir -p %{buildroot}/opt/dbspace
 mkdir -p %{buildroot}/%{_sysconfdir}/rc.d/rc3.d
 mkdir -p %{buildroot}%{_unitdir_user}/tizen-middleware.target.wants
+mkdir -p %{buildroot}%{_unitdir_user}/sockets.target.wants
 touch %{buildroot}/opt/dbspace/.livebox.db
 touch %{buildroot}/opt/dbspace/.livebox.db-journal
 ln -sf %{_sysconfdir}/rc.d/init.d/data-provider-master %{buildroot}/%{_sysconfdir}/rc.d/rc3.d/S99data-provider-master
 ln -sf %{_unitdir_user}/data-provider-master.service %{buildroot}%{_unitdir_user}/tizen-middleware.target.wants/data-provider-master.service
+ln -sf %{_unitdir_user}/data-provider-master.socket %{buildroot}%{_unitdir_user}/sockets.target.wants/data-provider-master.socket
+
 
 %pre
 # Executing the stop script for stopping the service of installed provider (old version)
@@ -94,7 +97,10 @@ echo "%{_sysconfdir}/init.d/data-provider-master start"
 %{_prefix}/etc/package-manager/parserlib/*
 %{_datarootdir}/data-provider-master/*
 %{_unitdir_user}/data-provider-master.service
+%{_unitdir_user}/data-provider-master.socket
 %{_unitdir_user}/tizen-middleware.target.wants/data-provider-master.service
+%{_unitdir_user}/sockets.target.wants/data-provider-master.socket
+
 %{_datarootdir}/license/*
 /opt/usr/share/live_magazine
 /opt/usr/share/live_magazine/log
index f28a334..fa6e593 100644 (file)
@@ -255,9 +255,7 @@ int main(int argc, char *argv[])
 
        app_create();
 
-       vconf_set_bool(VCONFKEY_MASTER_STARTED, 1);
        ecore_main_loop_begin();
-       vconf_set_bool(VCONFKEY_MASTER_STARTED, 0);
 
        app_terminate();