diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2014-04-07 10:45:23 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2014-04-07 10:45:23 +0000 |
commit | 28a2bc9efb8f25280a3734688da1097a06508cf5 (patch) | |
tree | 581896345686cfa7ed760e9581e033b5c27ef5fd /devel/fossil | |
parent | 252f79cf69378e6a72ac54c36ce7f19236a6f6b3 (diff) | |
download | ports-28a2bc9efb8f25280a3734688da1097a06508cf5.tar.gz ports-28a2bc9efb8f25280a3734688da1097a06508cf5.zip |
Notes
Diffstat (limited to 'devel/fossil')
-rw-r--r-- | devel/fossil/Makefile | 3 | ||||
-rw-r--r-- | devel/fossil/files/fossil.in | 90 |
2 files changed, 93 insertions, 0 deletions
diff --git a/devel/fossil/Makefile b/devel/fossil/Makefile index fa456d0f8722..8f869a4b7ea1 100644 --- a/devel/fossil/Makefile +++ b/devel/fossil/Makefile @@ -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 diff --git a/devel/fossil/files/fossil.in b/devel/fossil/files/fossil.in new file mode 100644 index 000000000000..6244dfd3f230 --- /dev/null +++ b/devel/fossil/files/fossil.in @@ -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" |