Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Apr 2014 10:45:23 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r350456 - in head/devel/fossil: . files
Message-ID:  <201404071045.s37AjN2X087940@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bapt
Date: Mon Apr  7 10:45:23 2014
New Revision: 350456
URL: http://svnweb.freebsd.org/changeset/ports/350456
QAT: https://qat.redports.org/buildarchive/r350456/

Log:
  Add a rc script to server fossil repositories

Added:
  head/devel/fossil/files/
  head/devel/fossil/files/fossil.in   (contents, props changed)
Modified:
  head/devel/fossil/Makefile

Modified: head/devel/fossil/Makefile
==============================================================================
--- head/devel/fossil/Makefile	Mon Apr  7 10:35:14 2014	(r350455)
+++ head/devel/fossil/Makefile	Mon Apr  7 10:45:23 2014	(r350456)
@@ -3,6 +3,7 @@
 PORTNAME=	fossil
 PORTVERSION=	1.28
 DISTVERSION=	20140127173344
+PORTREVISION=	1
 PORTEPOCH=	2
 CATEGORIES=	devel www
 MASTER_SITES=	http://www.fossil-scm.org/download/
@@ -18,6 +19,8 @@ PLIST_FILES=	bin/fossil
 HAS_CONFIGURE=	yes
 CONFIGURE_ARGS=	--prefix=${PREFIX}
 
+USE_RC_SUBR=	fossil
+
 OPTIONS_DEFINE=	JSON STATIC
 JSON_DESC=	JSON API support
 

Added: head/devel/fossil/files/fossil.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/fossil/files/fossil.in	Mon Apr  7 10:45:23 2014	(r350456)
@@ -0,0 +1,90 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# fossil startup script
+#
+# PROVIDE: fossil
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following to /etc/rc.conf[.local] to enable this service
+#
+# fossil_enable="YES"
+#
+# You can fine tune others variables too:
+# fossil_port="8080"
+# fossil_directory="/nonexistent"
+# fossil_baseurl=""
+# fossil_proto="http"
+# fossil_listenall=""
+# fossil_files="" # comma separated globing patterns of files to serve
+# fossil_notfound="" # URI to redirect to in case of 404
+# Use fossil_user to run fossil as user
+
+. /etc/rc.subr
+
+name="fossil"
+rcvar=fossil_enable
+load_rc_config $name
+pidprefix="/var/run/fossil/fossil"
+pidfile="${pidprefix}.pid"
+
+procname="%%PREFIX%%/bin/fossil"
+command="/usr/sbin/daemon"
+start_precmd="fossil_precmd"
+stop_postcmd="fossil_postcmd"
+
+fossil_enable=${fossil_enable:-"NO"}
+fossil_user=${fossil_user:-"nobody"}
+fossil_port=${fossil_port:-"8080"}
+fossil_proto=${fossil_proto:-"http"}
+fossil_directory=${fossil_directory:-"/nonexistent"}
+
+case "${fossil_proto}" in
+http);;
+scgi) fossil_args="--scgi" ;;
+*) 
+	echo "unsupported protocol: ${fossil_proto}, only scgi and http are supported" >&2
+
+	exit 1
+	;;
+esac
+
+[ -n "${fossil_baseurl}" ] && fossil_args="${fossil_args} --baseurl ${fossil_baseurl}"
+[ -z "${fossil_listenall}" ] && fossil_args="${fossil_args} --localhost"
+[ -n "${fossil_files}" ] && fossil_args="${fossil_args} --files '${fossil_files}'"
+[ -n "${fossil_notfound}" ] && fossil_args="${fossil_args} --notfound \"${fossil_notfound}\""
+
+command_args="-f -p ${pidfile} ${procname} server -P ${fossil_port} ${fossil_args} ${fossil_directory}"
+
+fossil_setfib()
+{
+        if command -v check_namevarlist > /dev/null 2>&1; then
+                check_namevarlist fib && return 0
+        fi
+
+        ${SYSCTL} net.fibs >/dev/null 2>&1 || return 0
+
+        fossil_fib=${fossil_fib:-"NONE"}
+        case "$fossil_fib" in
+        [Nn][Oo][Nn][Ee])
+                ;;
+        *)
+                command="setfib -F ${fossil_fib} ${command}"
+                ;;
+        esac
+}
+
+fossil_precmd()
+{
+        fossil_setfib
+        install -d -o root -g wheel -m 1777 /var/run/fossil
+}
+
+fossil_postcmd()
+{
+	rm -rf /var/run/fossil
+}
+
+run_rc_command "$1"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404071045.s37AjN2X087940>