#!/bin/sh
#
# $FreeBSD: ports/databases/memcached/files/memcached.in,v 1.6 2011/08/14 00:44:33 swills Exp $
#
# PROVIDE: memcached
# REQUIRE: DAEMON
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to run memcached:
#
# memcached_enable (bool):	Set it to "YES" to enable memcached.
#				Default is "NO".
# memcached_flags (flags):	Set extra flags here. More options in memcached(1)
#				Default is empty "".
# memcached_user (user):	Set user to run memcached.
#				Default is "nobody".
# memcached_profiles (str):     Set to "" by default.
#                               Define your profiles here.
#

. /etc/rc.subr

name="memcached"
rcvar=${name}_enable

_pidprefix="/var/run/memcached/memcached"
pidfile="${_pidprefix}.pid"

load_rc_config ${name}

if [ -n "$2" ]; then
	profile="$2"
	if [ "x${memcached_profiles}" != "x" ]; then
		pidfile="${_pidprefix}.${profile}.pid"
		eval memcached_enable="\${memcached_${profile}_enable:-${memcached_enable}}"
		eval memcached_flags="\${memcached_${profile}_flags:-${memcached_flags}}"
	else
		echo "$0: extra argument ignored"
	fi
else
	if [ "x${memcached_profiles}" != "x" -a "x$1" != "x" ]; then
		for profile in ${memcached_profiles}; do
			eval _enable="\${memcached_${profile}_enable}"
			case "x${_enable:-${memcached_enable}}" in
			x[Nn][Oo]|x[Ff][Aa][Ll][Ss][Ee]|x[Oo][Ff][Ff]|x0)
				continue
				;;
			x[Yy][Ee][Ss]|x[Tt][Rr][Uu][Ee]|x[Oo][Nn]|x1)
				;;
			*)
				if test -z "$_enable"; then
					_var=memcached_enable
				else
					_var=memcached_"${profile}"_enable
				fi
				echo "Bad value" \
				    "'${_enable:-${memcached_enable}}'" \
				    "for ${_var}. " \
				    "Profile ${profile} skipped."
				continue
				;;
			esac
			echo "===> memcached profile: ${profile}"
			/usr/local/etc/rc.d/memcached $1 ${profile}
			retcode="$?"
			if [ "0${retcode}" -ne 0 ]; then
				failed="${profile} (${retcode}) ${failed:-}"
			else
				success="${profile} ${success:-}"
			fi
		done
		exit 0
	fi
fi

: ${memcached_enable="NO"}
: ${memcached_user="nobody"}

command=/usr/local/bin/memcached
command_args="-d -u ${memcached_user} -P ${pidfile} "

run_rc_command "$1"
