|  | @@ -0,0 +1,92 @@
 | 
	
		
			
				|  |  | +#!/bin/sh
 | 
	
		
			
				|  |  | +#
 | 
	
		
			
				|  |  | +#       /etc/rc.d/init.d/gogs
 | 
	
		
			
				|  |  | +#
 | 
	
		
			
				|  |  | +#       Runs the Gogs Go Git Service.
 | 
	
		
			
				|  |  | +#       
 | 
	
		
			
				|  |  | +#
 | 
	
		
			
				|  |  | +# chkconfig:   - 85 15 
 | 
	
		
			
				|  |  | +#
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +### BEGIN INIT INFO
 | 
	
		
			
				|  |  | +# Provides:          gogs
 | 
	
		
			
				|  |  | +# Required-Start:    $remote_fs $syslog
 | 
	
		
			
				|  |  | +# Required-Stop:     $remote_fs $syslog
 | 
	
		
			
				|  |  | +# Default-Start:     2 3 4 5
 | 
	
		
			
				|  |  | +# Default-Stop:      0 1 6
 | 
	
		
			
				|  |  | +# Short-Description: Start gogs at boot time.
 | 
	
		
			
				|  |  | +# Description:       Control gogs.
 | 
	
		
			
				|  |  | +### END INIT INFO
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# Source function library.
 | 
	
		
			
				|  |  | +. /etc/init.d/functions
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# Default values
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +NAME=gogs
 | 
	
		
			
				|  |  | +GOGS_HOME=/home/git/gogs
 | 
	
		
			
				|  |  | +GOGS_PATH=${GOGS_HOME}/$NAME
 | 
	
		
			
				|  |  | +GOGS_USER=git
 | 
	
		
			
				|  |  | +SERVICENAME="Gogs Go Git Service"
 | 
	
		
			
				|  |  | +PID=/var/run/$NAME.pid
 | 
	
		
			
				|  |  | +LOCKFILE=/var/lock/subsys/gogs
 | 
	
		
			
				|  |  | +LOGFILE=${GOGS_HOME}/log/gogs.log
 | 
	
		
			
				|  |  | +RETVAL=0
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# Read configuration from /etc/sysconfig/gogs to override defaults
 | 
	
		
			
				|  |  | +[ -r /etc/sysconfig/$NAME ] && ./etc/sysconfig/$NAME
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# Don't do anything if nothing is installed
 | 
	
		
			
				|  |  | +[ -x ${GOGS_PATH} ] || exit 0
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +DAEMON_OPTS=""
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# Set additional options, if any
 | 
	
		
			
				|  |  | +[ ! -z "$GOGS_USER" ] && DAEMON_OPTS="$DAEMON_OPTS --user=${GOGS_USER}"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +start() {
 | 
	
		
			
				|  |  | +  cd ${GOGS_HOME}
 | 
	
		
			
				|  |  | +  echo -n "Starting ${SERVICENAME}: "
 | 
	
		
			
				|  |  | +  daemon $DAEMON_OPTS  --pidfile=${PID} "${GOGS_PATH} web 2>&1 > ${LOGFILE} &"
 | 
	
		
			
				|  |  | +  echo $! > ${PID}
 | 
	
		
			
				|  |  | +  RETVAL=$?
 | 
	
		
			
				|  |  | +  echo
 | 
	
		
			
				|  |  | +  [ $RETVAL = 0 ] && touch ${LOCKFILE}
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +  return $RETVAL
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +stop() {
 | 
	
		
			
				|  |  | +  cd ${GOGS_HOME}
 | 
	
		
			
				|  |  | +        echo -n "Shutting down ${SERVICENAME}: "
 | 
	
		
			
				|  |  | +        killproc -p ${PID} ${NAME}
 | 
	
		
			
				|  |  | +        RETVAL=$?
 | 
	
		
			
				|  |  | +        echo
 | 
	
		
			
				|  |  | +        [ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PID}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +case "$1" in
 | 
	
		
			
				|  |  | +    start)
 | 
	
		
			
				|  |  | +        status ${NAME} > /dev/null 2>&1 && exit 0
 | 
	
		
			
				|  |  | +        start
 | 
	
		
			
				|  |  | +        ;;
 | 
	
		
			
				|  |  | +    stop)
 | 
	
		
			
				|  |  | +        stop
 | 
	
		
			
				|  |  | +        ;;
 | 
	
		
			
				|  |  | +    status)
 | 
	
		
			
				|  |  | +        status -p ${PID} ${NAME}
 | 
	
		
			
				|  |  | +        ;;
 | 
	
		
			
				|  |  | +    restart)
 | 
	
		
			
				|  |  | +        stop
 | 
	
		
			
				|  |  | +        start
 | 
	
		
			
				|  |  | +        ;;
 | 
	
		
			
				|  |  | +    reload)
 | 
	
		
			
				|  |  | +        stop
 | 
	
		
			
				|  |  | +        start
 | 
	
		
			
				|  |  | +        ;;
 | 
	
		
			
				|  |  | +    *)
 | 
	
		
			
				|  |  | +        echo "Usage: ${NAME} {start|stop|status|restart}"
 | 
	
		
			
				|  |  | +        exit 1
 | 
	
		
			
				|  |  | +        ;;
 | 
	
		
			
				|  |  | +esac
 | 
	
		
			
				|  |  | +exit $RETVAL
 |