diff --git a/scripts/init/freebsd/gogs b/scripts/init/freebsd/gogs new file mode 100644 index 00000000..df13ee0d --- /dev/null +++ b/scripts/init/freebsd/gogs @@ -0,0 +1,46 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# PROVIDE: gogs +# REQUIRE: NETWORKING SYSLOG +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf to enable gogs: +# +#gogs_enable="YES" + +. /etc/rc.subr + +name="gogs" +rcvar="gogs_enable" + +load_rc_config $name + +: ${gogs_user:="git"} +: ${gogs_enable:="NO"} +: ${gogs_directory:="/home/git"} + +command="${gogs_directory}/scripts/start.sh" + +pidfile="${gogs_directory}/${name}.pid" + +start_cmd="${name}_start" +stop_cmd="${name}_stop" + +gogs_start() { + cd ${gogs_directory} + export USER=${gogs_user} + export HOME=${gogs_directory} + /usr/sbin/daemon -f -u ${gogs_user} -p ${pidfile} $command +} + +gogs_stop() { + if [ ! -f $pidfile ]; then + echo "GOGS PID File not found. Maybe GOGS is not running?" + else + kill $(cat $pidfile) + fi +} + +run_rc_command "$1"