summaryrefslogtreecommitdiffstats
path: root/abs/extra/git/git-daemon
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2012-08-07 19:47:09 (GMT)
committerJames Meyer <james.meyer@operamail.com>2012-08-07 19:47:09 (GMT)
commit895ec1bc262690e66ca1f249aebd0014b3a5f71e (patch)
tree514a7c77eccedc8d851906a314f57a9d85301820 /abs/extra/git/git-daemon
parent8994e4b247c0c4715827c646b1ce932ef1a13f63 (diff)
downloadlinhes_pkgbuild-895ec1bc262690e66ca1f249aebd0014b3a5f71e.zip
linhes_pkgbuild-895ec1bc262690e66ca1f249aebd0014b3a5f71e.tar.gz
linhes_pkgbuild-895ec1bc262690e66ca1f249aebd0014b3a5f71e.tar.bz2
git 1.7.11
Diffstat (limited to 'abs/extra/git/git-daemon')
-rw-r--r--abs/extra/git/git-daemon70
1 files changed, 70 insertions, 0 deletions
diff --git a/abs/extra/git/git-daemon b/abs/extra/git/git-daemon
new file mode 100644
index 0000000..21ba73e
--- /dev/null
+++ b/abs/extra/git/git-daemon
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+daemon_bin="/usr/lib/git-core/git-daemon"
+daemon_name=$(basename $daemon_bin)
+PIDF="/var/run/$daemon_name.pid"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name daemon"
+
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f $PIDF ] && rm -f $PIDF
+ # RUN
+ $daemon_bin --pid-file=$PIDF $GIT_DAEMON_ARGS
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > $PIDF
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f $PIDF &> /dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart|status}"
+esac
+
+exit 0