summaryrefslogtreecommitdiff
path: root/community/redis
diff options
context:
space:
mode:
Diffstat (limited to 'community/redis')
-rw-r--r--community/redis/PKGBUILD49
-rw-r--r--community/redis/redis.install14
-rw-r--r--community/redis/redis.logrotate5
-rw-r--r--community/redis/redis.service15
-rw-r--r--community/redis/redis.tmpfiles.d1
5 files changed, 84 insertions, 0 deletions
diff --git a/community/redis/PKGBUILD b/community/redis/PKGBUILD
new file mode 100644
index 000000000..34b769bce
--- /dev/null
+++ b/community/redis/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 95069 2013-08-05 10:49:57Z 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.6.14
+pkgrel=2
+pkgdesc="Advanced key-value store"
+arch=('i686' 'x86_64')
+url="http://redis.io/"
+license=('BSD')
+depends=('bash')
+makedepends=('gcc>=3.1' 'make' 'pkgconfig')
+backup=("etc/redis.conf"
+ "etc/logrotate.d/redis")
+install=redis.install
+source=("http://redis.googlecode.com/files/${pkgname}-${pkgver}.tar.gz"
+ "redis.service"
+ "redis.logrotate"
+ "redis.tmpfiles.d")
+md5sums=('02e0c06e953413017ff64862953e2756'
+ '5320aa6d0f31aadc1d6202ca40425aea'
+ '9e2d75b7a9dc421122d673fe520ef17f'
+ 'dd9ab8022b4d963b2e5899170dfff490')
+
+prepare() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ sed -i 's|# bind 127.0.0.1|bind 127.0.0.1|' redis.conf
+ sed -i 's|pidfile .*|pidfile /run/redis/redis.pid|' redis.conf
+}
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ make MALLOC=libc
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ mkdir -p $pkgdir/usr/bin
+ make INSTALL_BIN="$pkgdir/usr/bin" PREFIX=/usr install
+
+ install -D -m755 "$srcdir/${pkgname}-${pkgver}/COPYING" "$pkgdir/usr/share/licenses/redis/COPYING"
+ install -Dm644 "$srcdir"/redis.service "$pkgdir"/usr/lib/systemd/system/redis.service
+ install -Dm644 "$srcdir/redis.logrotate" "$pkgdir/etc/logrotate.d/redis"
+ sed -i 's|daemonize no|daemonize yes|;s|dir \./|dir /var/lib/redis/|;s|logfile stdout|logfile /var/log/redis.log| ' $srcdir/${pkgname}-${pkgver}/redis.conf
+ install -D -m644 "$srcdir/${pkgname}-${pkgver}/redis.conf" "$pkgdir/etc/redis.conf"
+ install -Dm644 "$srcdir/redis.tmpfiles.d" "$pkgdir/usr/lib/tmpfiles.d/redis.conf"
+}
diff --git a/community/redis/redis.install b/community/redis/redis.install
new file mode 100644
index 000000000..058a68f80
--- /dev/null
+++ b/community/redis/redis.install
@@ -0,0 +1,14 @@
+post_install() {
+ grep -E "^redis:" etc/group >/dev/null || groupadd --system redis
+ grep -E "^redis:" etc/passwd >/dev/null || useradd --system -g redis -d /var/lib/redis -s /bin/false redis
+ touch var/log/redis.log
+ chown redis:redis var/log/redis.log
+ systemd-tmpfiles --create redis.conf
+ install -dm0700 var/lib/redis
+ chown -R redis:redis var/lib/redis
+}
+
+post_upgrade() {
+ post_install
+ echo "Redis starts from redis user by default. Check redis.service file"
+}
diff --git a/community/redis/redis.logrotate b/community/redis/redis.logrotate
new file mode 100644
index 000000000..01d11422a
--- /dev/null
+++ b/community/redis/redis.logrotate
@@ -0,0 +1,5 @@
+/var/log/redis.log {
+ notifempty
+ copytruncate
+ missingok
+}
diff --git a/community/redis/redis.service b/community/redis/redis.service
new file mode 100644
index 000000000..bb364f749
--- /dev/null
+++ b/community/redis/redis.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Advanced key-value store
+After=network.target
+
+[Service]
+Type=forking
+User=redis
+PIDFile=/run/redis/redis.pid
+ExecStartPre=/bin/mkdir -p /var/lib/redis
+ExecStart=/usr/bin/redis-server /etc/redis.conf
+ExecStop=/usr/bin/redis-cli shutdown
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/redis/redis.tmpfiles.d b/community/redis/redis.tmpfiles.d
new file mode 100644
index 000000000..773b8eac4
--- /dev/null
+++ b/community/redis/redis.tmpfiles.d
@@ -0,0 +1 @@
+d /run/redis 0755 redis redis -