Refactor some patches out of redis.spec
For cases where we have two ways of doing one thing (using a patch or sed-based modification of files), rework these such that we're only using one method. Allows several of the patches to be dropped. Described in https://github.com/antirez/redis/issues/1417 is a method for allowing integration/replication-psync to be reliably run - start using it, and drop the patch that was disabling that test. Other small side-effects of this commit: - the build warning about "jemalloc not found" is fixed; - CFLAGS additions are now consistently handled (for deps as well) - using the upstream-provided mechanism for compiler flag propogation.
This commit is contained in:
parent
dc361d6b75
commit
9f0877ed49
@ -1,34 +0,0 @@
|
|||||||
From cbd4460b0c1a8614644171904e3522ffbe001b48 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar@fedoraproject.org>
|
|
||||||
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
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
|||||||
From efdb3b41171d335511af511b0a0cdf43cde2144a Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar@fedoraproject.org>
|
|
||||||
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
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
From 028b374759921656cb8a1e46198c8abbb62a4f0d Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar@fedoraproject.org>
|
|
||||||
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
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
From a39e81c428eac6745a1aa7d87ca64d78e335b2c3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar@fedoraproject.org>
|
|
||||||
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
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
|||||||
From 8aa7a039b6b23f7e9fdb9a459e975f216dd8fdba Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar@fedoraproject.org>
|
|
||||||
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
|
|
||||||
|
|
37
redis.spec
37
redis.spec
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
Name: redis
|
Name: redis
|
||||||
Version: 3.2.10
|
Version: 3.2.10
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: A persistent key-value database
|
Summary: A persistent key-value database
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: http://redis.io
|
URL: http://redis.io
|
||||||
@ -37,17 +37,10 @@ Source8: %{name}-limit-init
|
|||||||
# Then refresh your patches
|
# Then refresh your patches
|
||||||
# git format-patch HEAD~<number of expected patches>
|
# git format-patch HEAD~<number of expected patches>
|
||||||
# Update configuration for Fedora
|
# 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
|
# 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
|
# 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}
|
%if 0%{?with_perftools}
|
||||||
BuildRequires: gperftools-devel
|
BuildRequires: gperftools-devel
|
||||||
%else
|
%else
|
||||||
@ -119,24 +112,26 @@ and removal, status checks, resharding, rebalancing, and other operations.
|
|||||||
rm -frv deps/jemalloc
|
rm -frv deps/jemalloc
|
||||||
%patch0001 -p1
|
%patch0001 -p1
|
||||||
%patch0002 -p1
|
%patch0002 -p1
|
||||||
%patch0003 -p1
|
|
||||||
%patch0004 -p1
|
|
||||||
%patch0005 -p1
|
|
||||||
%patch0006 -p1
|
|
||||||
%patch0007 -p1
|
|
||||||
|
|
||||||
# No hidden build.
|
# No hidden build.
|
||||||
sed -i -e 's|\t@|\t|g' deps/lua/src/Makefile
|
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_CC)||g' src/Makefile
|
||||||
sed -i -e 's|$(QUIET_LINK)||g' src/Makefile
|
sed -i -e 's|$(QUIET_LINK)||g' src/Makefile
|
||||||
sed -i -e 's|$(QUIET_INSTALL)||g' src/Makefile
|
sed -i -e 's|$(QUIET_INSTALL)||g' src/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
|
||||||
# Ensure deps are built with proper flags
|
# Ensure deps are built with proper flags
|
||||||
sed -i -e 's|$(CFLAGS)|%{optflags}|g' deps/Makefile
|
sed -i -e 's|$(CFLAGS)|%{optflags} -fPIC|g' deps/Makefile
|
||||||
sed -i -e 's|OPTIMIZATION?=-O3|OPTIMIZATION=%{optflags}|g' deps/hiredis/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|$(LDFLAGS)|%{?__global_ldflags}|g' deps/hiredis/Makefile
|
||||||
sed -i -e 's|$(CFLAGS)|%{optflags}|g' deps/linenoise/Makefile
|
sed -i -e 's|$(CFLAGS)|%{optflags} -fPIC|g' deps/linenoise/Makefile
|
||||||
sed -i -e 's|$(LDFLAGS)|%{?__global_ldflags}|g' deps/linenoise/Makefile
|
sed -i -e 's|$(LDFLAGS)|%{?__global_ldflags}|g' deps/linenoise/Makefile
|
||||||
# Configuration file changes and additions
|
# 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_systemd}
|
%if 0%{?with_systemd}
|
||||||
sed -i -e 's|^supervised .*$|supervised systemd|g' redis.conf
|
sed -i -e 's|^supervised .*$|supervised systemd|g' redis.conf
|
||||||
sed -i -e '$ asupervised systemd|g' sentinel.conf
|
sed -i -e '$ asupervised systemd|g' sentinel.conf
|
||||||
@ -146,7 +141,7 @@ sed -i -e '$ asupervised systemd|g' sentinel.conf
|
|||||||
make %{?_smp_mflags} \
|
make %{?_smp_mflags} \
|
||||||
DEBUG="" \
|
DEBUG="" \
|
||||||
LDFLAGS="%{?__global_ldflags}" \
|
LDFLAGS="%{?__global_ldflags}" \
|
||||||
CFLAGS+="%{optflags}" \
|
CFLAGS+="%{optflags} -fPIC" \
|
||||||
LUA_LDFLAGS+="%{?__global_ldflags}" \
|
LUA_LDFLAGS+="%{?__global_ldflags}" \
|
||||||
%if 0%{?with_perftools}
|
%if 0%{?with_perftools}
|
||||||
MALLOC=tcmalloc \
|
MALLOC=tcmalloc \
|
||||||
@ -206,7 +201,8 @@ ln -s redis.conf.5 %{buildroot}%{_mandir}/man5/redis-sentinel.conf.5
|
|||||||
|
|
||||||
%check
|
%check
|
||||||
%if 0%{?with_tests}
|
%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 ||:
|
make test-sentinel ||:
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -289,6 +285,9 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Aug 28 2017 Nathan Scott <nathans@redhat.com> - 3.2.10-3
|
||||||
|
- Switch to using Type=notify for Redis systemd services (RHBZ #1172841)
|
||||||
|
|
||||||
* Mon Aug 14 2017 Nathan Scott <nathans@redhat.com> - 3.2.10-2
|
* Mon Aug 14 2017 Nathan Scott <nathans@redhat.com> - 3.2.10-2
|
||||||
- Add redis-trib based on patch from Sebastian Saletnik. (RHBZ #1215654)
|
- Add redis-trib based on patch from Sebastian Saletnik. (RHBZ #1215654)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user