From 5f343a22e1a3cfe8736484ae9f239613e6647f9f Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 19 Mar 2010 09:22:15 +0000 Subject: uhttpd: add init script and uci configuration --- contrib/package/uhttpd/files/uhttpd.init | 76 ++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100755 contrib/package/uhttpd/files/uhttpd.init (limited to 'contrib/package/uhttpd/files/uhttpd.init') diff --git a/contrib/package/uhttpd/files/uhttpd.init b/contrib/package/uhttpd/files/uhttpd.init new file mode 100755 index 000000000..08c6a3929 --- /dev/null +++ b/contrib/package/uhttpd/files/uhttpd.init @@ -0,0 +1,76 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2010 Jo-Philipp Wich + +START=50 +UHTTPD_BIN="/usr/sbin/uhttpd" +UHTTPD_ARGS="" + + +append_listen_http() { + append UHTTPD_ARGS "-p $1" +} + +append_listen_https() { + append UHTTPD_ARGS "-s $1" +} + +append_arg() { + local cfg="$1" + local var="$2" + local opt="$3" + local val + + config_get val "$cfg" "$var" + [ -n "$val" ] && append UHTTPD_ARGS "$opt $val" +} + +start_instance() +{ + UHTTPD_ARGS="" + + local cfg="$1" + local ssl + + append_arg "$cfg" home "-h" + append_arg "$cfg" cgi_prefix "-c" + append_arg "$cfg" lua_prefix "-l" + append_arg "$cfg" lua_handler "-L" + + config_list_foreach "$cfg" listen_http \ + append_listen_http + + config_get ssl "$cfg" listen_https + [ -n "$ssl" ] && { + append_arg "$cfg" cert "-C" + append_arg "$cfg" key "-K" + + config_list_foreach "$cfg" listen_https \ + append_listen_https + } + + start-stop-daemon -S -x $UHTTPD_BIN \ + -p /var/run/uhttpd_${cfg}.pid \ + -m -b -- -f $UHTTPD_ARGS +} + +stop_instance() +{ + local cfg="$1" + + [ -f /var/run/uhttpd_${cfg}.pid ] && { + start-stop-daemon -K -q -n ${UHTTPD_BIN##*/} \ + -p /var/run/uhttpd_${cfg}.pid -s TERM + + rm -f /var/run/uhttpd_${cfg}.pid + } +} + +start() { + config_load uhttpd + config_foreach start_instance uhttpd +} + +stop() { + config_load uhttpd + config_foreach stop_instance uhttpd +} -- cgit v1.2.3