From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Jun 14 11:30:01 2013 Return-Path: Delivered-To: freebsd-ports-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id C5E11FD6 for ; Fri, 14 Jun 2013 11:30:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id AB85416BB for ; Fri, 14 Jun 2013 11:30:01 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r5EBU1AP066248 for ; Fri, 14 Jun 2013 11:30:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r5EBU1tr066247; Fri, 14 Jun 2013 11:30:01 GMT (envelope-from gnats) Resent-Date: Fri, 14 Jun 2013 11:30:01 GMT Resent-Message-Id: <201306141130.r5EBU1tr066247@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Anes Mukhametov Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 695B5ECE for ; Fri, 14 Jun 2013 11:26:42 +0000 (UTC) (envelope-from amuhametov@monitoring.rambler.ru) Received: from monitoring.rambler.ru (monitoring.rambler.ru [81.19.75.233]) by mx1.freebsd.org (Postfix) with ESMTP id D2CA1167B for ; Fri, 14 Jun 2013 11:26:41 +0000 (UTC) Received: from monitoring.rambler.ru (localhost [127.0.0.1]) by monitoring.rambler.ru (8.14.4/8.14.4) with ESMTP id r5EBQY0K099741 for ; Fri, 14 Jun 2013 15:26:34 +0400 (MSK) (envelope-from amuhametov@monitoring.rambler.ru) Received: (from amuhametov@localhost) by monitoring.rambler.ru (8.14.4/8.14.4/Submit) id r5EBQYZj099740; Fri, 14 Jun 2013 15:26:34 +0400 (MSK) (envelope-from amuhametov) Message-Id: <201306141126.r5EBQYZj099740@monitoring.rambler.ru> Date: Fri, 14 Jun 2013 15:26:34 +0400 (MSK) From: Anes Mukhametov To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.113 Subject: ports/179551: [patch] databases/redis: add profiles to redis.in X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: Anes Mukhametov List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Jun 2013 11:30:01 -0000 >Number: 179551 >Category: ports >Synopsis: [patch] databases/redis: add profiles to redis.in >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Fri Jun 14 11:30:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Anes Mukhametov >Release: FreeBSD 8.2-STABLE i386 >Organization: >Environment: >Description: Modified redis.in to run multiple redis instances (profiles). For example set redis_profiles="foo bar", create /usr/local/etc/redis-foo.conf and /usr/local/etc/redis-bar.conf and start redis. >How-To-Repeat: >Fix: --- redis.patch begins here --- diff -ruN databases/redis.orig/Makefile databases/redis/Makefile --- databases/redis.orig/Makefile 2013-06-13 20:24:06.265964000 +0400 +++ databases/redis/Makefile 2013-06-14 15:15:55.239479169 +0400 @@ -3,6 +3,7 @@ PORTNAME= redis DISTVERSION= 2.6.13 +PORTREVISION= 1 CATEGORIES= databases MASTER_SITES= GOOGLE_CODE diff -ruN databases/redis.orig/files/redis.in databases/redis/files/redis.in --- databases/redis.orig/files/redis.in 2013-06-13 20:24:06.256964000 +0400 +++ databases/redis/files/redis.in 2013-06-14 15:15:19.535562420 +0400 @@ -8,10 +8,15 @@ # BEFORE: securelevel # KEYWORD: shutdown -# Add the following line to /etc/rc.conf to enable `redis': -# -#redis_enable="YES" +# Add the following lines to /etc/rc.conf to run redis: # +# redis_enable (bool): Set it to "YES" to enable redis. +# Default is "NO". +# redis_profiles (strings): Set it to "foo bar", for example, +# to run two separate redis instances. +# They will use %%PREFIX%%/etc/redis-foo.conf and +# %%PREFIX%%/etc/redis-bar.conf respectively. +# Default is empty. . /etc/rc.subr @@ -31,4 +36,34 @@ : ${redis_enable="NO"} : ${redis_user="%%REDIS_USER%%"} +_profile_exists() { + for _p in ${redis_profiles}; do + [ "${_p}" = "$1" ] && return 1; + done + return 0 +} + +if [ $# -eq 2 ]; then + _profile=$2 + _profile_exists $_profile + _exists=$? + [ ${_exists} -ne 1 ] && { + echo "`basename %%PREFIX%%/etc/rc.d/redis`: no '$2' in 'redis_profiles'" + exit 1 + }; + echo "-- Profile: ${_profile} --" + config_file="%%PREFIX%%/etc/${name}-${_profile}.conf" + command_args="${config_file}" + pidfile="%%REDIS_RUNDIR%%/${_profile}.pid" + required_files="${config_file}" +elif [ -n "${redis_profiles}" ]; then + _swap=$*; shift; _profiles=$* + _profiles=${_profiles:-${redis_profiles}} + set -- ${_swap} + for _profile in ${_profiles}; do + %%PREFIX%%/etc/rc.d/redis $1 ${_profile} + done + exit 0 +fi + run_rc_command "$1" --- redis.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted: