#!/bin/sh # # $FreeBSD$ # # 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=%%PREFIX%%/bin/memcached command_args="-d -u ${memcached_user} -P ${pidfile} " run_rc_command "$1"