diff --git a/.gitignore b/.gitignore index f2122e6..2a09209 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ clog /redis-3.2.8.tar.gz /redis-3.2.9.tar.gz /redis-3.2.10.tar.gz +/redis-3.2.11.tar.gz diff --git a/0006-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch b/0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch similarity index 99% rename from 0006-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch rename to 0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch index 7eaab5e..ab62c0c 100644 --- a/0006-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch +++ b/0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch @@ -1,7 +1,7 @@ -From e1ded77b1f80a5241f2f9b5088b9063ecbeb72c9 Mon Sep 17 00:00:00 2001 +From c7958ad1c0d615b81276ec2d4dbc1bf6a67dcc4d Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 8 Sep 2016 14:51:15 +0200 -Subject: [PATCH 6/7] 1st man pageis for - redis-cli - redis-benchmark - +Subject: [PATCH 1/2] 1st man pageis for - redis-cli - redis-benchmark - redis-check-aof - redis-check-rdb - redis-server - redis.conf as redis-sentinel is a symlink to redis-server, same page can be used (also symlinked) @@ -648,5 +648,5 @@ index 0000000..1e0c9c9 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- -2.9.3 +2.13.5 diff --git a/0001-redis-3.2.3-redis-conf.patch b/0001-redis-3.2.3-redis-conf.patch deleted file mode 100644 index 267f813..0000000 --- a/0001-redis-3.2.3-redis-conf.patch +++ /dev/null @@ -1,34 +0,0 @@ -From cbd4460b0c1a8614644171904e3522ffbe001b48 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= -Date: Fri, 5 Dec 2014 14:11:15 +0100 -Subject: [PATCH 1/7] redis 3.2.3: redis conf - ---- - redis.conf | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/redis.conf b/redis.conf -index 22e00bc..2bcddb8 100644 ---- a/redis.conf -+++ b/redis.conf -@@ -160,7 +160,7 @@ loglevel notice - # Specify the log file name. Also the empty string can be used to force - # Redis to log on the standard output. Note that if you use standard - # output for logging but daemonize, logs will be sent to /dev/null --logfile "" -+logfile /var/log/redis/redis.log - - # To enable logging to the system logger, just set 'syslog-enabled' to yes, - # and optionally update the other syslog parameters to suit your needs. -@@ -244,7 +244,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 ################################# - --- -2.9.3 - diff --git a/0007-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch b/0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch similarity index 81% rename from 0007-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch rename to 0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch index 2675435..75448ba 100644 --- a/0007-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch +++ b/0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch @@ -1,7 +1,7 @@ -From bcd509def0d4a75f56d9d6a53eea280127803eb4 Mon Sep 17 00:00:00 2001 +From 992c773e70462a6fbe1536e18e673c9ab55d5901 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 9 Sep 2016 17:23:27 +0200 -Subject: [PATCH 7/7] install redis-check-rdb as a symlink instead of +Subject: [PATCH 2/2] install redis-check-rdb as a symlink instead of duplicating the binary --- @@ -9,7 +9,7 @@ Subject: [PATCH 7/7] install redis-check-rdb as a symlink instead of 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile -index 6c27dd9..2de5e3f 100644 +index fdbe36a..c3083f8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -267,6 +267,6 @@ install: all @@ -21,5 +21,5 @@ index 6c27dd9..2de5e3f 100644 @ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_SENTINEL_NAME) + @ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_CHECK_RDB_NAME) -- -2.9.3 +2.13.5 diff --git a/0002-redis-3.2.3-deps-library-fPIC-performance-tuning.patch b/0002-redis-3.2.3-deps-library-fPIC-performance-tuning.patch deleted file mode 100644 index b774f0a..0000000 --- a/0002-redis-3.2.3-deps-library-fPIC-performance-tuning.patch +++ /dev/null @@ -1,53 +0,0 @@ -From efdb3b41171d335511af511b0a0cdf43cde2144a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= -Date: Mon, 8 Dec 2014 10:02:54 +0100 -Subject: [PATCH 2/7] redis 3.2.3: deps library fPIC performance tuning - ---- - deps/Makefile | 2 +- - deps/geohash-int/Makefile | 2 +- - deps/linenoise/Makefile | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/deps/Makefile b/deps/Makefile -index 1c10bce..14839de 100644 ---- a/deps/Makefile -+++ b/deps/Makefile -@@ -59,7 +59,7 @@ ifeq ($(uname_S),SunOS) - LUA_CFLAGS= -D__C99FEATURES__=1 - endif - --LUA_CFLAGS+= -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' $(CFLAGS) -+LUA_CFLAGS+= -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' $(CFLAGS) -fPIC - LUA_LDFLAGS+= $(LDFLAGS) - # 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/geohash-int/Makefile b/deps/geohash-int/Makefile -index b7c2595..d8b5b40 100644 ---- a/deps/geohash-int/Makefile -+++ b/deps/geohash-int/Makefile -@@ -2,7 +2,7 @@ STD= - WARN= -Wall - OPT= -O2 - --R_CFLAGS= $(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) -+R_CFLAGS= $(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) -fPIC - R_LDFLAGS= $(LDFLAGS) - DEBUG= -g - -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 - --R_CFLAGS= $(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) -+R_CFLAGS= $(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) -fPIC - R_LDFLAGS= $(LDFLAGS) - DEBUG= -g - --- -2.9.3 - diff --git a/0003-redis-2.8.18-use-system-jemalloc.patch b/0003-redis-2.8.18-use-system-jemalloc.patch deleted file mode 100644 index b67c88b..0000000 --- a/0003-redis-2.8.18-use-system-jemalloc.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 028b374759921656cb8a1e46198c8abbb62a4f0d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= -Date: Mon, 8 Dec 2014 10:03:40 +0100 -Subject: [PATCH 3/7] redis 2.8.18: use system jemalloc - ---- - src/Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/Makefile b/src/Makefile -index fdbe36a..6c27dd9 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -104,8 +104,8 @@ endif - - ifeq ($(MALLOC),jemalloc) - DEPENDENCY_TARGETS+= jemalloc -- FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include -- FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a -+ FINAL_CFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE -I/usr/include/jemalloc -+ FINAL_LIBS+= -ljemalloc -ldl - endif - - REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) --- -2.9.3 - diff --git a/0004-redis-2.8.18-disable-test-failed-on-slow-machine.patch b/0004-redis-2.8.18-disable-test-failed-on-slow-machine.patch deleted file mode 100644 index 888d293..0000000 --- a/0004-redis-2.8.18-disable-test-failed-on-slow-machine.patch +++ /dev/null @@ -1,24 +0,0 @@ -From a39e81c428eac6745a1aa7d87ca64d78e335b2c3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= -Date: Mon, 8 Dec 2014 10:04:18 +0100 -Subject: [PATCH 4/7] redis 2.8.18: disable test failed on slow machine - ---- - tests/test_helper.tcl | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/tests/test_helper.tcl b/tests/test_helper.tcl -index 9a6e673..0891619 100644 ---- a/tests/test_helper.tcl -+++ b/tests/test_helper.tcl -@@ -36,7 +36,6 @@ set ::all_tests { - integration/replication-2 - integration/replication-3 - integration/replication-4 -- integration/replication-psync - integration/aof - integration/rdb - integration/convert-zipmap-hash-on-load --- -2.9.3 - diff --git a/0005-redis-2.8.18-sentinel-configuration-file-fix.patch b/0005-redis-2.8.18-sentinel-configuration-file-fix.patch deleted file mode 100644 index 0a098e1..0000000 --- a/0005-redis-2.8.18-sentinel-configuration-file-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8aa7a039b6b23f7e9fdb9a459e975f216dd8fdba Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= -Date: Sat, 13 Sep 2014 14:03:04 +0200 -Subject: [PATCH 5/7] redis 2.8.18: sentinel configuration file fix - ---- - sentinel.conf | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/sentinel.conf b/sentinel.conf -index 0e1b266..428e7b6 100644 ---- a/sentinel.conf -+++ b/sentinel.conf -@@ -130,6 +130,12 @@ sentinel parallel-syncs mymaster 1 - # Default is 3 minutes. - sentinel failover-timeout mymaster 180000 - -+# -+# Specify the log file name. Also the empty string can be used to force -+# Redis to log on the standard output. Note that if you use standard -+# output for logging but daemonize, logs will be sent to /dev/null -+logfile /var/log/redis/sentinel.log -+ - # SCRIPTS EXECUTION - # - # sentinel notification-script and sentinel reconfig-script are used in order --- -2.9.3 - diff --git a/redis-sentinel.service b/redis-sentinel.service index 0c87ff7..15463cf 100644 --- a/redis-sentinel.service +++ b/redis-sentinel.service @@ -3,8 +3,9 @@ Description=Redis Sentinel After=network.target [Service] -ExecStart=/usr/bin/redis-sentinel /etc/redis-sentinel.conf --daemonize no +ExecStart=/usr/bin/redis-sentinel /etc/redis-sentinel.conf --supervised systemd ExecStop=/usr/libexec/redis-shutdown redis-sentinel +Type=notify User=redis Group=redis RuntimeDirectory=redis diff --git a/redis.service b/redis.service index 6c19f81..88e9edc 100644 --- a/redis.service +++ b/redis.service @@ -3,8 +3,9 @@ Description=Redis persistent key-value database After=network.target [Service] -ExecStart=/usr/bin/redis-server /etc/redis.conf --daemonize no +ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemd ExecStop=/usr/libexec/redis-shutdown +Type=notify User=redis Group=redis RuntimeDirectory=redis diff --git a/redis.spec b/redis.spec index ad6d620..654e612 100644 --- a/redis.spec +++ b/redis.spec @@ -17,8 +17,8 @@ %global with_tests %{?_with_tests:1}%{!?_with_tests:0} Name: redis -Version: 3.2.10 -Release: 2%{?dist} +Version: 3.2.11 +Release: 1%{?dist} Summary: A persistent key-value database License: BSD URL: http://redis.io @@ -32,22 +32,15 @@ Source6: %{name}-shutdown Source7: %{name}-limit-systemd Source8: %{name}-limit-init # To refresh patches: -# tar xf redis-xxx.tar.gz && cd redis-xxx && git init && git add . && git commit -m "%{version} baseline" -# git am %{patches} +# tar xf redis-xxx.tar.gz && cd redis-xxx && git init && git add . && git commit -m "%%{version} baseline" +# git am %%{patches} # Then refresh your patches # git format-patch HEAD~ # Update configuration for Fedora -Patch0001: 0001-redis-3.2.3-redis-conf.patch -Patch0002: 0002-redis-3.2.3-deps-library-fPIC-performance-tuning.patch -Patch0003: 0003-redis-2.8.18-use-system-jemalloc.patch -# tests/integration/replication-psync.tcl failed on slow machines(GITHUB #1417) -Patch0004: 0004-redis-2.8.18-disable-test-failed-on-slow-machine.patch -# Fix sentinel configuration to use a different log file than redis -Patch0005: 0005-redis-2.8.18-sentinel-configuration-file-fix.patch # https://github.com/antirez/redis/pull/3491 - man pages -Patch0006: 0006-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch +Patch0001: 0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch # https://github.com/antirez/redis/pull/3494 - symlink -Patch0007: 0007-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch +Patch0002: 0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch %if 0%{?with_perftools} BuildRequires: gperftools-devel %else @@ -76,6 +69,9 @@ Requires(preun): chkconfig Requires(preun): initscripts Requires(postun): initscripts %endif +Provides: bundled(hiredis) +Provides: bundled(lua-libs) +Provides: bundled(linenoise) %description Redis is an advanced key-value store. It is often referred to as a data @@ -119,39 +115,28 @@ and removal, status checks, resharding, rebalancing, and other operations. rm -frv deps/jemalloc %patch0001 -p1 %patch0002 -p1 -%patch0003 -p1 -%patch0004 -p1 -%patch0005 -p1 -%patch0006 -p1 -%patch0007 -p1 -# No hidden build. -sed -i -e 's|\t@|\t|g' deps/lua/src/Makefile -sed -i -e 's|$(QUIET_CC)||g' src/Makefile -sed -i -e 's|$(QUIET_LINK)||g' src/Makefile -sed -i -e 's|$(QUIET_INSTALL)||g' src/Makefile -# Ensure deps are built with proper flags -sed -i -e 's|$(CFLAGS)|%{optflags}|g' deps/Makefile -sed -i -e 's|OPTIMIZATION?=-O3|OPTIMIZATION=%{optflags}|g' deps/hiredis/Makefile -sed -i -e 's|$(LDFLAGS)|%{?__global_ldflags}|g' deps/hiredis/Makefile -sed -i -e 's|$(CFLAGS)|%{optflags}|g' deps/linenoise/Makefile -sed -i -e 's|$(LDFLAGS)|%{?__global_ldflags}|g' deps/linenoise/Makefile +# Use system jemalloc library +sed -i -e '/cd jemalloc && /d' deps/Makefile +sed -i -e 's|../deps/jemalloc/lib/libjemalloc.a|-ljemalloc -ldl|g' src/Makefile +sed -i -e 's|-I../deps/jemalloc.*|-DJEMALLOC_NO_DEMANGLE -I/usr/include/jemalloc|g' src/Makefile +# Configuration file changes and additions +sed -i -e 's|^logfile .*$|logfile /var/log/redis/redis.log|g' redis.conf +sed -i -e '$ alogfile /var/log/redis/sentinel.log' sentinel.conf +sed -i -e 's|^dir .*$|dir /var/lib/redis|g' redis.conf + +%if 0%{?with_perftools} +%global malloc_flags MALLOC=tcmalloc +%else +%global malloc_flags MALLOC=jemalloc +%endif +%global make_flags DEBUG="" V="echo" LDFLAGS="%{?__global_ldflags}" CFLAGS+="%{optflags} -fPIC" %{malloc_flags} LUA_LDFLAGS+="%{?__global_ldflags}" INSTALL="install -p" PREFIX=%{buildroot}%{_prefix} %build -make %{?_smp_mflags} \ - DEBUG="" \ - LDFLAGS="%{?__global_ldflags}" \ - CFLAGS+="%{optflags}" \ - LUA_LDFLAGS+="%{?__global_ldflags}" \ -%if 0%{?with_perftools} - MALLOC=tcmalloc \ -%else - MALLOC=jemalloc \ -%endif - all +make %{?_smp_mflags} %{make_flags} all %install -make install INSTALL="install -p" PREFIX=%{buildroot}%{_prefix} +make %{make_flags} install # Filesystem. install -d %{buildroot}%{_sharedstatedir}/%{name} @@ -165,7 +150,7 @@ install -pDm644 %{S:1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} install -pDm640 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf install -pDm640 sentinel.conf %{buildroot}%{_sysconfdir}/%{name}-sentinel.conf -# Install Systemd unit files. +# Install systemd unit files. %if 0%{?with_systemd} mkdir -p %{buildroot}%{_unitdir} install -pm644 %{S:3} %{buildroot}%{_unitdir} @@ -201,7 +186,8 @@ ln -s redis.conf.5 %{buildroot}%{_mandir}/man5/redis-sentinel.conf.5 %check %if 0%{?with_tests} -make test ||: +# https://github.com/antirez/redis/issues/1417 (for "taskset -c 1") +taskset -c 1 make test ||: make test-sentinel ||: %endif @@ -284,6 +270,11 @@ fi %changelog +* Tue Sep 26 2017 Nathan Scott - 3.2.11-1 +- Upstream 3.2.11 bug-fix-only release +- Switch to using Type=notify for Redis systemd services (RHBZ #1172841) +- Add Provides:bundled hiredis, linenoise, lua-libs clauses (RHBZ #788500) + * Mon Aug 14 2017 Nathan Scott - 3.2.10-2 - Add redis-trib based on patch from Sebastian Saletnik. (RHBZ #1215654) diff --git a/sources b/sources index 40c7ebf..9d2d41c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (redis-3.2.10.tar.gz) = 32fd27fac8ba559ea38e3a1006b90c4117c74a8ca15399ade19834c4221521e7e3669e4e1f24d214a53bb7cde896839438dd4a273d6be6def587841dd9954aa1 +SHA512 (redis-3.2.11.tar.gz) = 3eab216350828ef78e7e9e28ac2fff3ea89d9eb7f86a66c4788667cde7c966bce7dda03470c2baacf2dce63496685e11ca2ef0a82b5fbbd20fb8e449146a20ee