+++ /dev/null
-#!/bin/sh
-
-DESC="OMA DS agent daemon"
-NAME=oma-ds-agent
-DAEMON=/usr/bin/$NAME
-SCRIPTNAME=/etc/init.d/oma-ds
-
-[ -x "$DAEMON" ] || exit 0
-
-do_start() {
- PID=`pidof $NAME`
- [ -z "$PID" ] || return 1
- $DAEMON
- RETVAL=$?
- return "$RETVAL"
-}
-
-do_stop() {
- PID=`pidof $NAME`
- if [ -n "$PID" ]; then
- kill $PID
- fi
- return 0
-}
-
-prt_res() {
- RETVAL=$1
-
- case "$RETVAL" in
- 0|1)
- echo "... done."
- RETVAL=0
- ;;
- *)
- echo "... failed!"
- RETVAL=1
- ;;
- esac
-
- return $RETVAL
-}
-
-case "$1" in
- start)
- echo "Starting $DESC" "$NAME"
- if [ -f /opt/usr/data/oma-ds/.oma-ds-agent-enabled ]; then
- do_start
- prt_res $?
- else
- echo "don't exist oma-ds-agent enabled file"
- prt_res $?
- fi
- ;;
- stop)
- echo "Stopping $DESC" "$NAME"
- do_stop
- prt_res $?
- ;;
- restart)
- echo "Stopping $DESC" "$NAME"
- do_stop
- prt_res $?
- sleep 2
- echo "Starting $DESC" "$NAME"
- do_start
- prt_res $?
- ;;
- *)
- echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
- exit 3
- ;;
-esac
-
<filesystem path="/usr/share/oma-ds-cfg/omads_fw_config.xml" label="oma-ds-agent::cfg"/>
<filesystem path="/opt/dbspace/.omasyncagent.db" exec_label="oma-ds-agent::db"/>
<filesystem path="/opt/dbspace/.omasyncagent.db-journal" exec_label="oma-ds-agent::db"/>
- <filesystem path="/etc/init.d/oma-ds" label="_" exec_label="none"/>
<filesystem path="/usr/share/dbus-1/services/com.samsung.omadsagent.service" label="_"/>
+ <filesystem path="/usr/lib/systemd/system/oma-ds-agent.service" label="_" exec_label="none" />
+ <filesystem path="/usr/lib/systemd/system/graphical.target.wants/oma-ds-agent.service" label="_" exec_label="none" />
</assign>
<request>
<domain name="oma-ds-agent" />
Group: TO_BE/FILLED_IN
License: Apache License, Version 2.0
Source0: %{name}-%{version}.tar.gz
-Source1: packaing/oma-ds-agent.service
+
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(aul)
BuildRequires: expat-devel
BuildRequires: cmake
+BuildRequires: pkgconfig(libsystemd-daemon)
Requires: sys-assert
%description -n ds-public-plugins
ds public plugins for sync-agent
-
%prep
%setup -q
-
%build
cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
make %{?jobs:-j%jobs}
-
%install
rm -rf %{buildroot}
%make_install
-# systemd service script sertup
+# systemd service script startup
mkdir -p %{buildroot}%{_libdir}/systemd/system/graphical.target.wants
-install -m 0644 %SOURCE1 %{buildroot}%{_libdir}/systemd/system/
ln -s ../oma-ds-agent.service %{buildroot}%{_libdir}/systemd/system/graphical.target.wants/oma-ds-agent.service
%clean
rm -rf %{buildroot}
-
%post
if [ ! -d /opt/dbspace ]
then
mkdir /opt/dbspace
fi
-if [ ! -d /etc/rc.d/rc3.d ]
-then
- mkdir /etc/rc.d/rc3.d
-fi
-if [ ! -d /etc/rc.d/rc5.d ]
-then
- mkdir /etc/rc.d/rc5.d
-fi
-
-if [ ! -f /etc/rc.d/rc3.d/S91oma-ds-agent ]
-then
-ln -s /etc/init.d/oma-ds /etc/rc.d/rc3.d/S91oma-ds-agent
-fi
-
-if [ ! -f /etc/rc.d/rc5.d/S91oma-ds-agent ]
-then
- ln -s /etc/init.d/oma-ds /etc/rc.d/rc5.d/S91oma-ds-agent
-fi
-
-#/etc/init.d/oma-ds start
-
-
-%preun
-/etc/init.d/oma-ds stop
-
%postun
rm -f /tmp/agent_fw_event_omads*
rm -f /tmp/agent_fw_noti_reply_omads*
-
-rm -f /etc/rc.d/rc3.d/S91oma-ds-agent
-rm -f /etc/rc.d/rc5.d/S91oma-ds-agent
-
rm -f /opt/dbspace/.omasyncagent.db /opt/dbspace/.omasyncagent.db-journal
-
rm -rf /usr/share/oma-ds-cfg
-
%files
%attr(600,root,root) /opt/dbspace/.omasyncagent.db
%attr(600,root,root) /opt/dbspace/.omasyncagent.db-journal
/usr/share/oma-ds-cfg/*
-%defattr(700,root,root)
-/etc/init.d/oma-ds
-
%defattr(644,root,root)
/usr/lib/systemd/system/oma-ds-agent.service
/usr/lib/systemd/system/graphical.target.wants/oma-ds-agent.service
dlog
aul
dbus-glib-1
+ libsystemd-daemon
)
-
#############################################
#
# Step 2. Set Compile Environment
# install oma ds dbus file
INSTALL(FILES ${CMAKE_SOURCE_DIR}/com.samsung.omadsagent.service DESTINATION /usr/share/dbus-1/services)
-# install booting script file
-INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/${PROJECT_NAME} DESTINATION /etc/init.d/)
+# install systemd service file
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/systemd/oma-ds-agent.service DESTINATION /usr/lib/systemd/system)
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
-
+#include <systemd/sd-daemon.h>
#include <dbus/dbus-glib.h>
#include <dbus/dbus.h>
sigemptyset(&sig_act.sa_mask);
sigaction(SIGTERM, &sig_act, NULL);
+ sd_notify(1, "READY=1");
sync_agent_run_main_loop(0);
if (connection) {
After=calendar.service contacts-service.service pushd.service msg-service.service dbus.service
[Service]
-#Type=forking
+Type=notify
ExecStart=/usr/bin/oma-ds-agent 'booting'
[Install]
-WantedBy=graphical.target
\ No newline at end of file
+WantedBy=graphical.target