Browse Source

lsyncd: add initscript

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@1505 ec354946-7b23-47d6-9f5a-488ba84defc7
daisuke 14 years ago
parent
commit
29494ab1ec
2 changed files with 108 additions and 0 deletions
  1. 21 0
      l/lsyncd/lsyncd-vl.spec
  2. 87 0
      l/lsyncd/lsyncd.init

+ 21 - 0
l/lsyncd/lsyncd-vl.spec

@@ -9,9 +9,13 @@ Group: Applications/File
 URL: http://code.google.com/p/lsyncd/ 
 
 Source: lsyncd-%{version}.tar.gz
+Source1: lsyncd.init
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 Requires: rsync
+Requires(post): /sbin/chkconfig
+Requires(preun): /sbin/chkconfig
+Requires(preun): /sbin/service
 
 Vendor: Project Vine
 Distribution: Vine Linux
@@ -36,9 +40,26 @@ for detailed command line options.
 %{__rm} -rf %{buildroot}
 %{__make} install DESTDIR=%{buildroot}
 
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
+%{__install} -m755 %{SOURCE1} /etc/rc.d/init.d/lsyncd
+
 %clean
 %{__rm} -rf %{buildroot}
 
+%post
+/sbin/chkconfig --add lsyncd
+
+%preun
+if [ "$1" = "0" ]; then
+    /sbin/service lsyncd stop >/dev/null 2>&1
+    /sbin/chkconfig --del lsyncd
+fi
+
+%postun
+if [ "$1" -ge "1" ]; then
+    /sbin/service lsyncd condrestart >/dev/null 2>&1
+fi
+
 %files
 %defattr(-, root, root, 0755)
 %doc AUTHORS COPYING ChangeLog NEWS TODO lsyncd.conf.xml

+ 87 - 0
l/lsyncd/lsyncd.init

@@ -0,0 +1,87 @@
+#!/bin/bash
+#
+# lsyncd
+#
+# chkconfig: - 99 20
+# processname: /usr/bin/lsyncd
+# description: Live syncing daemon
+
+### BEGIN INIT INFO
+# Provides: lsyncd
+# Required-Start: $syslog $local_fs
+# Required-Stop: $syslog $local_fs
+# Default-Start:  2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: start and stop lsyncd
+# Description: Live syncing daemon
+### END INIT INFO
+
+#
+DAEMON=/usr/bin/lsyncd
+prog=`basename $DAEMON`
+CONFIG=/etc/lsyncd.conf.xml
+PIDFILE=/var/lock/subsys/lsyncd
+
+test -e $DAEMON || exit 0
+test -f $CONFIG || exit 0
+
+if [ -r /etc/init.d/functions ]; then
+	. /etc/init.d/functions
+fi
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+export PATH
+
+RETVAL=0
+
+start() {
+	# Check if it is already running
+	if [ ! -f $PIDFILE ]; then
+		echo -n $"Starting lsyncd daemon: "	
+	    daemon /usr/bin/lsyncd --pidfile $PIDFILE --conf $CONFIG
+	    RETVAL=$?
+	    [ $RETVAL -eq 0 ] && touch $PIDFILE
+	    echo
+	fi
+	return $RETVAL
+}
+
+stop() {
+	echo -n $"Stopping lsyncd daemon: "
+	killproc /usr/bin/lsyncd
+	RETVAL=$?
+	[ $RETVAL -eq 0 ] && rm -f $PIDFILE
+	echo
+        return $RETVAL
+}
+
+restart() {
+	stop
+	start
+}	
+
+case "$1" in
+    start)
+        start
+        ;;
+    stop)
+        stop
+        ;;
+    restart)
+        restart
+        ;;
+    condrestart)
+    	if [ -f $PIDFILE ]; then
+            restart
+	fi
+        ;;
+    status)
+        status lsyncd
+	RETVAL=$?
+        ;;
+    *)
+	echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+	RETVAL=2
+esac
+
+exit $RETVAL