Date: Wednesday, August 27, 2014 @ 14:59:30 Author: bpiotrowski Revision: 117961
upgpkg: redis 2.8.13-2 - log to journald by default - use system jemalloc - replace bunch of seds modyfing default settings with a patch - rewrite redis.install to use getent Added: redis/trunk/redis-2.8.11-use-system-jemalloc.patch redis/trunk/redis.conf-sane-defaults.patch Modified: redis/trunk/PKGBUILD redis/trunk/redis.install redis/trunk/redis.service ----------------------------------------+ PKGBUILD | 62 +++++++++++++++---------------- redis-2.8.11-use-system-jemalloc.patch | 15 +++++++ redis.conf-sane-defaults.patch | 31 +++++++++++++++ redis.install | 16 ++------ redis.service | 4 -- 5 files changed, 82 insertions(+), 46 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-08-27 12:49:20 UTC (rev 117960) +++ PKGBUILD 2014-08-27 12:59:30 UTC (rev 117961) @@ -1,51 +1,51 @@ # $Id$ -# Maintainer: Sergej Pupykin <[email protected]> -# Maintainer: Jan-Erik Rediger <badboy at archlinux dot us> +# Maintainer: Sergej Pupykin <[email protected]> +# Maintainer: Bartłomiej Piotrowski <[email protected]> +# Contributor: Jan-Erik Rediger <badboy at archlinux dot us> # Contributor: nofxx <x@<nick>.com> pkgname=redis pkgver=2.8.13 -pkgrel=1 -pkgdesc="Advanced key-value store" +pkgrel=2 +pkgdesc='Advanced key-value store' arch=('i686' 'x86_64') -url="http://redis.io/" +url='http://redis.io/' license=('BSD') -depends=('bash') -makedepends=('gcc>=3.1' 'make' 'pkgconfig') -backup=("etc/redis.conf" - "etc/logrotate.d/redis") +depends=('jemalloc') +backup=('etc/redis.conf' + 'etc/logrotate.d/redis') install=redis.install -source=("http://download.redis.io/releases/redis-$pkgver.tar.gz" - "redis.service" - "redis.logrotate" - "redis.tmpfiles.d") +source=(http://download.redis.io/releases/redis-$pkgver.tar.gz + redis.service + redis.logrotate redis.tmpfiles.d + redis.conf-sane-defaults.patch + redis-2.8.11-use-system-jemalloc.patch) md5sums=('ea92053cbb6f4eb8a4347dbaac7d7dff' - '5320aa6d0f31aadc1d6202ca40425aea' + 'aec12c881dc2693754f85539ae8e0bc7' '9e2d75b7a9dc421122d673fe520ef17f' - 'dd9ab8022b4d963b2e5899170dfff490') + 'dd9ab8022b4d963b2e5899170dfff490' + 'b1beae6954b780da261b4056fd7f918a' + '2ae176578f538e37a67a463258302bc6') prepare() { - cd "$srcdir/${pkgname}-${pkgver}" - sed -i 's|# bind 127.0.0.1|bind 127.0.0.1|' redis.conf - sed -i 's|daemonize no|daemonize yes|' redis.conf - sed -i 's|dir \./|dir /var/lib/redis/|' redis.conf - sed -i 's|pidfile .*|pidfile /run/redis/redis.pid|' redis.conf - sed -i 's|logfile stdout|logfile /var/log/redis.log|' redis.conf + cd $pkgname-$pkgver + patch -p1 -i ../redis.conf-sane-defaults.patch + patch -p1 -i ../redis-2.8.11-use-system-jemalloc.patch } build() { - cd "$srcdir/${pkgname}-${pkgver}" - make + make -C $pkgname-$pkgver } package() { - cd "$srcdir/${pkgname}-${pkgver}" - mkdir -p $pkgdir/usr/bin - make INSTALL_BIN="$pkgdir/usr/bin" PREFIX=/usr install + cd $pkgname-$pkgver + make PREFIX="$pkgdir"/usr install - install -Dm755 "$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" - install -Dm644 "$srcdir/${pkgname}-${pkgver}/redis.conf" "$pkgdir/etc/redis.conf" - install -Dm644 "$srcdir/redis.tmpfiles.d" "$pkgdir/usr/lib/tmpfiles.d/redis.conf" + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/redis/LICENSE + install -Dm644 redis.conf "$pkgdir"/etc/redis.conf + install -Dm644 ../redis.service "$pkgdir"/usr/lib/systemd/system/redis.service + + # files kept for compatibility with installations made before 2.8.13-2 + install -Dm644 ../redis.logrotate "$pkgdir"/etc/logrotate.d/redis + install -Dm644 ../redis.tmpfiles.d "$pkgdir"/usr/lib/tmpfiles.d/redis.conf } Added: redis-2.8.11-use-system-jemalloc.patch =================================================================== --- redis-2.8.11-use-system-jemalloc.patch (rev 0) +++ redis-2.8.11-use-system-jemalloc.patch 2014-08-27 12:59:30 UTC (rev 117961) @@ -0,0 +1,15 @@ +Index: redis-2.8.11/src/Makefile +=================================================================== +--- redis-2.8.11.orig/src/Makefile ++++ redis-2.8.11/src/Makefile +@@ -84,8 +84,8 @@ endif + + ifeq ($(MALLOC),jemalloc) + DEPENDENCY_TARGETS+= jemalloc +- FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include +- FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a -ldl ++ FINAL_CFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE -I/usr/include/jemalloc ++ FINAL_LIBS+= -ljemalloc -ldl + endif + + REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) Added: redis.conf-sane-defaults.patch =================================================================== --- redis.conf-sane-defaults.patch (rev 0) +++ redis.conf-sane-defaults.patch 2014-08-27 12:59:30 UTC (rev 117961) @@ -0,0 +1,31 @@ +diff --git a/redis.conf b/redis.conf +index 6efb6ac..344e021 100644 +--- a/redis.conf ++++ b/redis.conf +@@ -61,7 +61,7 @@ tcp-backlog 511 + # Examples: + # + # bind 192.168.1.100 10.0.0.1 +-# bind 127.0.0.1 ++bind 127.0.0.1 + + # Specify the path for the Unix socket that will be used to listen for + # incoming connections. There is no default, so Redis will not listen +@@ -87,7 +87,7 @@ timeout 0 + # On other kernels the period depends on the kernel configuration. + # + # A reasonable value for this option is 60 seconds. +-tcp-keepalive 0 ++tcp-keepalive 60 + + # Specify the server verbosity level. + # This can be one of: +@@ -184,7 +184,7 @@ dbfilename dump.rdb + # The Append Only File will also be created inside this directory. + # + # Note that you must specify a directory here, not a file name. +-dir ./ ++dir /var/lib/redis/ + + ################################# REPLICATION ################################# + Modified: redis.install =================================================================== --- redis.install 2014-08-27 12:49:20 UTC (rev 117960) +++ redis.install 2014-08-27 12:59:30 UTC (rev 117961) @@ -1,14 +1,8 @@ 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 -} + getent group redis >/dev/null || groupadd --system redis + getent passwd minetest >/dev/null || useradd --system -g redis \ + -d /var/lib/redis -s /bin/false redis -post_upgrade() { - post_install - echo "Redis starts from redis user by default. Check redis.service file" + install -dm700 var/lib/redis + chown redis:redis var/lib/redis } Modified: redis.service =================================================================== --- redis.service 2014-08-27 12:49:20 UTC (rev 117960) +++ redis.service 2014-08-27 12:59:30 UTC (rev 117961) @@ -3,13 +3,9 @@ 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
