diff options
author | root <root@rshg054.dnsready.net> | 2011-10-04 23:14:30 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-10-04 23:14:30 +0000 |
commit | 3567a49f79d2dbf828b723ab54982fa6c7ea1c80 (patch) | |
tree | 15fc309d3681df4da7a56189050fd5aa16fa9794 /community/redis | |
parent | 57d05f7209f022aa99a8850aafbeec4cb85c3b5b (diff) |
Tue Oct 4 23:14:30 UTC 2011
Diffstat (limited to 'community/redis')
-rw-r--r-- | community/redis/PKGBUILD | 6 | ||||
-rw-r--r-- | community/redis/redis.d | 68 |
2 files changed, 43 insertions, 31 deletions
diff --git a/community/redis/PKGBUILD b/community/redis/PKGBUILD index 4fd24a269..ebcbab11a 100644 --- a/community/redis/PKGBUILD +++ b/community/redis/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 55934 2011-09-26 09:37:58Z spupykin $ +# $Id: PKGBUILD 56203 2011-10-03 11:01:21Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Jan-Erik Rediger <badboy at archlinux dot us> # Contributor: nofxx <x@<nick>.com> pkgname=redis pkgver=2.2.14 -pkgrel=1 +pkgrel=2 pkgdesc="Advanced key-value store" arch=('i686' 'x86_64') url="http://redis.io/" @@ -19,7 +19,7 @@ source=("http://redis.googlecode.com/files/${pkgname}-${pkgver}.tar.gz" "redis.d" "redis.logrotate") md5sums=('3605e3d4c9465fdfefa2e96f3a408ef5' - 'bf61968d18d0e42529880f5c488ea9ed' + '9726d06d0a0c60cb5d55a31b3dc1e55d' '9e2d75b7a9dc421122d673fe520ef17f') build() { diff --git a/community/redis/redis.d b/community/redis/redis.d index 333f45d6b..3294963ed 100644 --- a/community/redis/redis.d +++ b/community/redis/redis.d @@ -1,53 +1,65 @@ #!/bin/bash +daemon_name=redis + . /etc/rc.conf . /etc/rc.d/functions -PID=`cat /var/run/redis.pid 2>/dev/null` +REDISPORT=6379 +EXEC=/usr/bin/redis-server +CLIEXEC=/usr/bin/redis-cli +PIDFILE=/var/run/redis.pid +WORKDIR=/var/lib/redis +CONF="/etc/redis.conf" + case "$1" in start) - stat_busy "Starting Redis Server" - [ -d /var/lib/redis ] || { mkdir /var/lib/redis; } - if [ -z "$PID" ]; then - /usr/bin/redis-server /etc/redis.conf >/dev/null - RESULT=$? - else - REDIS_PID=`pidof redis-server` - if [ -z "$REDIS_PID" ]; then - /usr/bin/redis-server /etc/redis.conf >/dev/null - RESULT=$? - elif [ `pidof redis-server` -eq $PID ]; then - RESULT=1 - else - /usr/bin/redis-server /etc/redis.conf >/dev/null - RESULT=$? - fi - fi + stat_busy "Starting $daemon_name" + [ -d $WORKDIR ] || mkdir $WORKDIR - if [ $RESULT -gt 0 ]; then + if [ -f $PIDFILE ]; then stat_fail + exit 1 else - add_daemon redis - stat_done + $EXEC $CONF >/dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + add_daemon $daemon_name + stat_done + fi fi ;; + stop) - stat_busy "Stopping Redis Server" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then + stat_busy "Stopping $daemon_name" + + if [ ! -f $PIDFILE ]; then stat_fail + exit 1 else - rm /var/run/redis.pid - rm_daemon redis - stat_done + PID=$(cat $PIDFILE) + $CLIEXEC -p $REDISPORT shutdown + [ -d /proc/${PID} ] && sleep 1 + [ -d /proc/${PID} ] && sleep 5 + [ -d /proc/${PID} ] && kill -9 $PID + [ -d /proc/${PID} ] && stat_fail || { stat_done; rm_daemon $daemon_name; } fi ;; + restart) $0 stop sleep 1 $0 start ;; + + status) + stat_busy "Checking $daemon_name status"; + ck_status $daemon_name + ;; + *) - echo "usage: $0 {start|stop|restart}" + echo "usage: $0 {start|stop|restart|status}" esac exit 0 |