diff --git a/redis-2.8.11-deps-library-fPIC-performance-tuning.patch b/redis-2.8.11-deps-library-fPIC-performance-tuning.patch index 7da8bcc..bbfc788 100644 --- a/redis-2.8.11-deps-library-fPIC-performance-tuning.patch +++ b/redis-2.8.11-deps-library-fPIC-performance-tuning.patch @@ -1,7 +1,17 @@ -Index: redis-2.8.11/deps/Makefile -=================================================================== ---- redis-2.8.11.orig/deps/Makefile -+++ redis-2.8.11/deps/Makefile +From 654ea4a4536bd154a58588ede616fe7ddb3b01a1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= +Date: Thu, 11 Sep 2014 13:40:54 +0200 +Subject: [PATCH 2/4] patch1 + +--- + deps/Makefile | 2 +- + deps/linenoise/Makefile | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/deps/Makefile b/deps/Makefile +index e183ede..9dcb6b1 100644 +--- a/deps/Makefile ++++ b/deps/Makefile @@ -58,7 +58,7 @@ ifeq ($(uname_S),SunOS) LUA_CFLAGS= -D__C99FEATURES__=1 endif @@ -9,12 +19,12 @@ Index: redis-2.8.11/deps/Makefile -LUA_CFLAGS+= -O2 -Wall -DLUA_ANSI $(CFLAGS) +LUA_CFLAGS+= -O2 -Wall -DLUA_ANSI $(CFLAGS) -fPIC LUA_LDFLAGS+= $(LDFLAGS) - - lua: .make-prerequisites -Index: redis-2.8.11/deps/linenoise/Makefile -=================================================================== ---- redis-2.8.11.orig/deps/linenoise/Makefile -+++ redis-2.8.11/deps/linenoise/Makefile + # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more + # challenging to cross-compile lua (and redis). These defines make it easier +diff --git a/deps/linenoise/Makefile b/deps/linenoise/Makefile +index 1dd894b..712f2a6 100644 +--- a/deps/linenoise/Makefile ++++ b/deps/linenoise/Makefile @@ -2,7 +2,7 @@ STD= WARN= -Wall OPT= -Os @@ -24,3 +34,6 @@ Index: redis-2.8.11/deps/linenoise/Makefile R_LDFLAGS= $(LDFLAGS) DEBUG= -g +-- +1.9.3 + diff --git a/redis-2.8.11-disable-test-failed-on-slow-machine.patch b/redis-2.8.11-disable-test-failed-on-slow-machine.patch index bd43f6f..e7f59a9 100644 --- a/redis-2.8.11-disable-test-failed-on-slow-machine.patch +++ b/redis-2.8.11-disable-test-failed-on-slow-machine.patch @@ -1,7 +1,16 @@ -Index: redis-2.8.11/tests/test_helper.tcl -=================================================================== ---- redis-2.8.11.orig/tests/test_helper.tcl -+++ redis-2.8.11/tests/test_helper.tcl +From 88d8fa644b2d2fa73802d22fb710181e04c80496 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= +Date: Thu, 11 Sep 2014 13:42:01 +0200 +Subject: [PATCH 4/4] patch3 + +--- + tests/test_helper.tcl | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/tests/test_helper.tcl b/tests/test_helper.tcl +index 5f958e5..bcd258a 100644 +--- a/tests/test_helper.tcl ++++ b/tests/test_helper.tcl @@ -33,7 +33,6 @@ set ::all_tests { integration/replication-2 integration/replication-3 @@ -10,3 +19,6 @@ Index: redis-2.8.11/tests/test_helper.tcl integration/aof integration/rdb integration/convert-zipmap-hash-on-load +-- +1.9.3 + diff --git a/redis-2.8.11-use-system-jemalloc.patch b/redis-2.8.11-use-system-jemalloc.patch index 5da3d68..b070feb 100644 --- a/redis-2.8.11-use-system-jemalloc.patch +++ b/redis-2.8.11-use-system-jemalloc.patch @@ -1,8 +1,17 @@ -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 +From cfc0d8db5d3ca86aff0c2707d51b9180c407f258 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= +Date: Thu, 11 Sep 2014 13:41:17 +0200 +Subject: [PATCH 3/4] patch2 + +--- + src/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index 8b3e959..af6a4fe 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -90,8 +90,8 @@ endif ifeq ($(MALLOC),jemalloc) DEPENDENCY_TARGETS+= jemalloc @@ -13,3 +22,6 @@ Index: redis-2.8.11/src/Makefile endif REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) +-- +1.9.3 + diff --git a/redis.init b/redis.init new file mode 100644 index 0000000..0479769 --- /dev/null +++ b/redis.init @@ -0,0 +1,88 @@ +#!/bin/sh +# +# redis init file for starting up the redis daemon +# +# chkconfig: - 20 80 +# description: Starts and stops the redis daemon. + +# Source function library. +. /etc/rc.d/init.d/functions + +name="redis-server" +exec="/usr/bin/$name" +pidfile="/var/run/redis/redis.pid" +REDIS_CONFIG="/etc/redis.conf" + +[ -e /etc/sysconfig/redis ] && . /etc/sysconfig/redis + +lockfile=/var/lock/subsys/redis + +start() { + [ -f $REDIS_CONFIG ] || exit 6 + [ -x $exec ] || exit 5 + echo -n $"Starting $name: " + daemon --user ${REDIS_USER-redis} "$exec $REDIS_CONFIG --daemonize yes --pidfile $pidfile" + retval=$? + echo + [ $retval -eq 0 ] && touch $lockfile + return $retval +} + +stop() { + echo -n $"Stopping $name: " + killproc -p $pidfile $name + retval=$? + echo + [ $retval -eq 0 ] && rm -f $lockfile + return $retval +} + +restart() { + stop + start +} + +reload() { + false +} + +rh_status() { + status -p $pidfile $name +} + +rh_status_q() { + rh_status >/dev/null 2>&1 +} + + +case "$1" in + start) + rh_status_q && exit 0 + $1 + ;; + stop) + rh_status_q || exit 0 + $1 + ;; + restart) + $1 + ;; + reload) + rh_status_q || exit 7 + $1 + ;; + force-reload) + force_reload + ;; + status) + rh_status + ;; + condrestart|try-restart) + rh_status_q || exit 0 + restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart}" + exit 2 +esac +exit $? diff --git a/redis.service b/redis.service new file mode 100644 index 0000000..3bfcbee --- /dev/null +++ b/redis.service @@ -0,0 +1,12 @@ +[Unit] +Description=Redis persistent key-value database +After=network.target + +[Service] +ExecStart=/usr/bin/redis-server /etc/redis.conf --daemonize no +User=redis +Group=redis + +[Install] +WantedBy=multi-user.target + diff --git a/redis.spec b/redis.spec index 576af9b..9acbe4f 100644 --- a/redis.spec +++ b/redis.spec @@ -2,39 +2,41 @@ %global with_perftools 0 -# Prior to redis 2.8 sentinel didn't work correctly. -%if 0%{?fedora} >= 21 || 0%{?el} >= 7 +# redis 2.8 sentinel is the first upstream version to work +# however as packaged here it is entirely broken +# FIXME: consider removal into a separate package +%if 0%{?fedora} >= 21 || 0%{?rhel} >= 7 %global with_sentinel 1 %endif -%if 0%{?fedora} >= 15 || 0%{?el} >= 7 +%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %global with_systemd 1 %else %global with_systemd 0 %endif # tcl 8.4 in EL5. -%if 0%{?el} && 0%{?el} <= 5 +%if 0%{?el5} %global with_tests 0 %else %global with_tests 1 %endif Name: redis -Version: 2.8.13 -Release: 2%{?dist} +Version: 2.8.14 +Release: 1%{?dist} Summary: A persistent caching system, key-value and data structures database License: BSD URL: http://redis.io Source0: http://download.redis.io/releases/%{name}-%{version}.tar.gz Source1: %{name}.logrotate Source2: %{name}-sentinel.service -Source3: %{name}-server.service +Source3: %{name}.service Source4: %{name}.tmpfiles Source5: %{name}-sentinel.init -Source6: %{name}-server.init +Source6: %{name}.init # Update configuration for Fedora -Patch0: redis-2.8.11-redis-conf-location-variables.patch +Patch0: redis-2.8.11-redis-conf.patch Patch1: redis-2.8.11-deps-library-fPIC-performance-tuning.patch Patch2: redis-2.8.11-use-system-jemalloc.patch # tests/integration/replication-psync.tcl failed on slow machines(GITHUB #1417) @@ -114,7 +116,7 @@ sed -i -e 's|$(CFLAGS)|%{optflags}|g' deps/linenoise/Makefile sed -i -e 's|$(LDFLAGS)|%{?__global_ldflags}|g' deps/linenoise/Makefile %build -%make_build \ +make %{?_smp_mflags} \ DEBUG="" \ LDFLAGS="%{?__global_ldflags}" \ CFLAGS+="%{optflags}" \ @@ -157,7 +159,7 @@ install -pDm644 %{S:4} %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?with_sentinel} install -pDm755 %{S:5} %{buildroot}%{_initrddir}/%{name}-sentinel %endif -install -pDm755 %{S:6} %{buildroot}%{_initrddir}/%{name}-server +install -pDm755 %{S:6} %{buildroot}%{_initrddir}/%{name} %endif # Fix non-standard-executable-perm error. @@ -183,12 +185,12 @@ exit 0 %if 0%{?with_sentinel} %systemd_post %{name}-sentinel.service %endif -%systemd_post %{name}-server.service +%systemd_post %{name}.service %else %if 0%{?with_sentinel} chkconfig --add %{name}-sentinel %endif -chkconfig --add %{name}-server +chkconfig --add %{name} %endif %preun @@ -196,15 +198,15 @@ chkconfig --add %{name}-server %if 0%{?with_sentinel} %systemd_preun %{name}-sentinel.service %endif -%systemd_preun %{name}-server.service +%systemd_preun %{name}.service %else if [ $1 -eq 0 ] ; then %if 0%{?with_sentinel} service %{name}-sentinel stop &> /dev/null chkconfig --del %{name}-sentinel &> /dev/null %endif -service %{name}-server stop &> /dev/null -chkconfig --del %{name}-server &> /dev/null +service %{name} stop &> /dev/null +chkconfig --del %{name} &> /dev/null %endif %postun @@ -212,13 +214,13 @@ chkconfig --del %{name}-server &> /dev/null %if 0%{?with_sentinel} %systemd_postun_with_restart %{name}-sentinel.service %endif -%systemd_postun_with_restart %{name}-server.service +%systemd_postun_with_restart %{name}.service %else if [ "$1" -ge "1" ] ; then %if 0%{?with_sentinel} service %{name}-sentinel condrestart >/dev/null 2>&1 || : %endif - service %{name}-server condrestart >/dev/null 2>&1 || : + service %{name} condrestart >/dev/null 2>&1 || : fi %endif @@ -231,24 +233,27 @@ fi %endif %dir %attr(0750, redis, redis) %{_sharedstatedir}/%{name} %dir %attr(0750, redis, redis) %{_localstatedir}/log/%{name} -%ghost %dir %attr(0750, redis, redis) %{_localstatedir}/run/%{name} +%dir %attr(0750, redis, redis) %{_localstatedir}/run/%{name} %{_bindir}/%{name}-* %if 0%{?with_systemd} %{_tmpfilesdir}/%{name}.conf %if 0%{?with_sentinel} %{_unitdir}/%{name}-sentinel.service %endif -%{_unitdir}/%{name}-server.service +%{_unitdir}/%{name}.service %else %if 0%{?with_sentinel} %{_initrddir}/%{name}-sentinel %endif -%{_initrddir}/%{name}-server +%{_initrddir}/%{name} %endif %changelog -* Sun Aug 17 2014 Fedora Release Engineering - 2.8.13-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild +* Thu Sep 11 2014 Haïkel Guémar - 2.8.14-1 +- Upstream 2.8.14 (RHBZ #1136287) +- Bugfix for lua scripting users (server crash) +- Refresh patches +- backport spec from EPEL7 (thanks Warren) * Wed Jul 16 2014 Christopher Meng - 2.8.13-1 - Update to 2.8.13