summaryrefslogtreecommitdiff
path: root/community/redis
diff options
context:
space:
mode:
Diffstat (limited to 'community/redis')
-rw-r--r--community/redis/PKGBUILD10
-rw-r--r--community/redis/redis.d68
2 files changed, 45 insertions, 33 deletions
diff --git a/community/redis/PKGBUILD b/community/redis/PKGBUILD
index d7c653ad9..2ca77031f 100644
--- a/community/redis/PKGBUILD
+++ b/community/redis/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 53250 2011-08-02 14:55:17Z 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.12
-pkgrel=1
+pkgver=2.2.14
+pkgrel=2
pkgdesc="Advanced key-value store"
arch=('i686' 'x86_64' 'mips64el')
url="http://redis.io/"
@@ -18,8 +18,8 @@ backup=("etc/redis.conf"
source=("http://redis.googlecode.com/files/${pkgname}-${pkgver}.tar.gz"
"redis.d"
"redis.logrotate")
-md5sums=('61b287860cab3e89c49390b8f5ffb697'
- 'bf61968d18d0e42529880f5c488ea9ed'
+md5sums=('3605e3d4c9465fdfefa2e96f3a408ef5'
+ '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