Compare commits
42 Commits
private-cl
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
eb2f5b7b3a | ||
|
24658f1b66 | ||
|
6cae3b1023 | ||
|
a5ee299285 | ||
|
6c3bdb0b63 | ||
|
d75d3d4930 | ||
|
6314fdc7a6 | ||
|
abd5379420 | ||
|
72f15713c3 | ||
|
d23b1d4535 | ||
|
fefcedab2c | ||
|
c5eb5af918 | ||
|
d924812920 | ||
|
91318c4827 | ||
|
0500a44e92 | ||
|
da65cc3c98 | ||
|
25bfce9ab8 | ||
|
ac2422ae25 | ||
|
e35b514eeb | ||
|
59378174a9 | ||
|
df786883ff | ||
|
74836e8db5 | ||
|
c374de3637 | ||
|
9f0877ed49 | ||
|
dc361d6b75 | ||
|
5085a9081d | ||
|
64e67eb9fe | ||
|
16aeff4dbc | ||
|
cf49c6bbe9 | ||
|
668ece2ae9 | ||
|
aa0c5b2abf | ||
|
94b0494e4a | ||
|
4f1d5f156d | ||
|
4e3af4a0d8 | ||
|
dfbfda99c9 | ||
|
0641733c28 | ||
|
03b3484b7d | ||
|
bf304417be | ||
|
8cbea8c9c3 | ||
|
93650f449c | ||
|
fc3bfb53c4 | ||
|
b9162a4476 |
16
.gitignore
vendored
16
.gitignore
vendored
@ -29,3 +29,19 @@ clog
|
||||
/redis-3.0.5.tar.gz
|
||||
/redis-3.0.6.tar.gz
|
||||
/redis-3.2.3.tar.gz
|
||||
/redis-3.2.4.tar.gz
|
||||
/redis-3.2.7.tar.gz
|
||||
/redis-3.2.8.tar.gz
|
||||
/redis-3.2.9.tar.gz
|
||||
/redis-3.2.10.tar.gz
|
||||
/redis-3.2.11.tar.gz
|
||||
/redis-4.0.2.tar.gz
|
||||
/redis-doc-69a5512.tar.gz
|
||||
/redis-4.0.4.tar.gz
|
||||
/redis-doc-dc402c6.tar.gz
|
||||
/redis-4.0.5.tar.gz
|
||||
/redis-4.0.6.tar.gz
|
||||
/redis-4.0.7.tar.gz
|
||||
/redis-doc-38c2bd6.tar.gz
|
||||
/redis-4.0.8.tar.gz
|
||||
/redis-4.0.9.tar.gz
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 8295483fcee6c1232ac801ff91f66e21f9d23d80 Mon Sep 17 00:00:00 2001
|
||||
From c7958ad1c0d615b81276ec2d4dbc1bf6a67dcc4d Mon Sep 17 00:00:00 2001
|
||||
From: Remi Collet <fedora@famillecollet.com>
|
||||
Date: Thu, 8 Sep 2016 14:51:15 +0200
|
||||
Subject: [PATCH] 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)
|
||||
@ -647,3 +647,6 @@ index 0000000..1e0c9c9
|
||||
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
+(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.13.5
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 2875336337c14d15878fcc36de83cea350fc47f1 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/5] redis 3.2.3: redis conf
|
||||
|
||||
---
|
||||
redis.conf | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/redis.conf b/redis.conf
|
||||
index 22e00bc..46a0154 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.0
|
||||
|
@ -1,22 +1,26 @@
|
||||
From a34f7b1ac2cfb2879cc0889da0297aee96bcb076 Mon Sep 17 00:00:00 2001
|
||||
From 992c773e70462a6fbe1536e18e673c9ab55d5901 Mon Sep 17 00:00:00 2001
|
||||
From: Remi Collet <fedora@famillecollet.com>
|
||||
Date: Fri, 9 Sep 2016 17:23:27 +0200
|
||||
Subject: [PATCH] install redis-check-rdb as a symlink instead of duplicating
|
||||
Subject: [PATCH 2/2] install redis-check-rdb as a symlink instead of duplicating
|
||||
the binary
|
||||
|
||||
---
|
||||
src/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
src/Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 6bd8d8d..4cc422e 100644
|
||||
index fdbe36a..c3083f8 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -269,6 +269,6 @@ install: all
|
||||
@@ -287,6 +287,6 @@ install: all
|
||||
$(REDIS_INSTALL) $(REDIS_SERVER_NAME) $(INSTALL_BIN)
|
||||
$(REDIS_INSTALL) $(REDIS_BENCHMARK_NAME) $(INSTALL_BIN)
|
||||
$(REDIS_INSTALL) $(REDIS_CLI_NAME) $(INSTALL_BIN)
|
||||
- $(REDIS_INSTALL) $(REDIS_CHECK_RDB_NAME) $(INSTALL_BIN)
|
||||
$(REDIS_INSTALL) $(REDIS_CHECK_AOF_NAME) $(INSTALL_BIN)
|
||||
- $(REDIS_INSTALL) $(REDIS_CHECK_AOF_NAME) $(INSTALL_BIN)
|
||||
@ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_SENTINEL_NAME)
|
||||
+ @ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_CHECK_RDB_NAME)
|
||||
+ @ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_CHECK_AOF_NAME)
|
||||
--
|
||||
2.13.5
|
||||
|
@ -1,53 +0,0 @@
|
||||
From 0a7d1df14b256dc77249f8d5d0d483b1b4a6c97d 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/5] 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.0
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 16501b1430c43d66736ea5530cd68b571af809f2 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/5] 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 648127a..d513859 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -94,8 +94,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)
|
||||
--
|
||||
2.9.0
|
||||
|
@ -1,24 +0,0 @@
|
||||
From 851ea8154a2a8e974d1588be3d6d38262ca2ae33 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/5] 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.0
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 9502fee0927389b6feb274f2778dfb0b7b4a1459 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/5] redis 2.8.18: sentinel configuration file fix
|
||||
|
||||
---
|
||||
sentinel.conf | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/sentinel.conf b/sentinel.conf
|
||||
index 39d1044..543d40d 100644
|
||||
--- a/sentinel.conf
|
||||
+++ b/sentinel.conf
|
||||
@@ -177,5 +177,10 @@ sentinel failover-timeout mymaster 180000
|
||||
# Example:
|
||||
#
|
||||
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
|
||||
+#
|
||||
+# 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
|
||||
|
||||
|
||||
--
|
||||
2.9.0
|
||||
|
2
macros.redis
Normal file
2
macros.redis
Normal file
@ -0,0 +1,2 @@
|
||||
%redis_modules_abi 1
|
||||
%redis_modules_dir %{_libdir}/redis/modules
|
@ -3,10 +3,13 @@ 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
|
||||
RuntimeDirectoryMode=0755
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
@ -15,9 +15,10 @@ fi
|
||||
CONFIG_FILE="/etc/$SERVICE_NAME.conf"
|
||||
|
||||
# Use awk to retrieve host, port from config file
|
||||
HOST=`awk '/^[[:blank:]]*bind/ { print $2 }' $CONFIG_FILE`
|
||||
PORT=`awk '/^[[:blank:]]*port/ { print $2 }' $CONFIG_FILE`
|
||||
PASS=`awk '/^[[:blank:]]*requirepass/ { print $2 }' $CONFIG_FILE`
|
||||
HOST=`awk '/^[[:blank:]]*bind/ { print $2 }' $CONFIG_FILE | tail -n1`
|
||||
PORT=`awk '/^[[:blank:]]*port/ { print $2 }' $CONFIG_FILE | tail -n1`
|
||||
PASS=`awk '/^[[:blank:]]*requirepass/ { print $2 }' $CONFIG_FILE | tail -n1`
|
||||
SOCK=`awk '/^[[:blank:]]*unixsocket\s/ { print $2 }' $CONFIG_FILE | tail -n1`
|
||||
|
||||
# Just in case, use default host, port
|
||||
HOST=${HOST:-127.0.0.1}
|
||||
@ -32,4 +33,8 @@ fi
|
||||
[ -z "$PASS" ] || ADDITIONAL_PARAMS="-a $PASS"
|
||||
|
||||
# shutdown the service properly
|
||||
$REDIS_CLI -h $HOST -p $PORT $ADDITIONAL_PARAMS shutdown
|
||||
if [ -e "$SOCK" ] ; then
|
||||
$REDIS_CLI -s $SOCK $ADDITIONAL_PARAMS shutdown
|
||||
else
|
||||
$REDIS_CLI -h $HOST -p $PORT $ADDITIONAL_PARAMS shutdown
|
||||
fi
|
||||
|
@ -3,10 +3,13 @@ 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
|
||||
RuntimeDirectoryMode=0755
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
338
redis.spec
338
redis.spec
@ -1,6 +1,25 @@
|
||||
%global _hardened_build 1
|
||||
#
|
||||
# Fedora spec file for redis
|
||||
#
|
||||
# License: MIT
|
||||
# http://opensource.org/licenses/MIT
|
||||
#
|
||||
# Please preserve changelog entries
|
||||
#
|
||||
%global with_perftools 0
|
||||
|
||||
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
|
||||
%global with_redistrib 1
|
||||
%else
|
||||
%global with_redistrib 0
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 6
|
||||
%global with_pandoc 1
|
||||
%else
|
||||
%global with_pandoc 0
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
|
||||
%global with_systemd 1
|
||||
%else
|
||||
@ -8,11 +27,19 @@
|
||||
%endif
|
||||
|
||||
# Tests fail in mock, not in local build.
|
||||
%global with_tests %{?_with_tests:1}%{!?_with_tests:0}
|
||||
%global with_tests %{?_with_tests:1}%{!?_with_tests:0}
|
||||
|
||||
# Commit IDs for the (unversioned) redis-doc repository
|
||||
# https://fedoraproject.org/wiki/Packaging:SourceURL "Commit Revision"
|
||||
%global doc_commit 38c2bd6f5331aad382494b3c7833b0cc2b92222a
|
||||
%global short_doc_commit %(c=%{doc_commit}; echo ${c:0:7})
|
||||
|
||||
# %%{rpmmacrodir} not usable on EL-6
|
||||
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
|
||||
|
||||
Name: redis
|
||||
Version: 3.2.3
|
||||
Release: 2%{?dist}
|
||||
Version: 4.0.9
|
||||
Release: 1%{?dist}
|
||||
Summary: A persistent key-value database
|
||||
License: BSD
|
||||
URL: http://redis.io
|
||||
@ -20,28 +47,24 @@ Source0: http://download.redis.io/releases/%{name}-%{version}.tar.gz
|
||||
Source1: %{name}.logrotate
|
||||
Source2: %{name}-sentinel.service
|
||||
Source3: %{name}.service
|
||||
Source5: %{name}-sentinel.init
|
||||
Source6: %{name}.init
|
||||
Source7: %{name}-shutdown
|
||||
Source8: %{name}-limit-systemd
|
||||
Source9: %{name}-limit-init
|
||||
Source4: %{name}-sentinel.init
|
||||
Source5: %{name}.init
|
||||
Source6: %{name}-shutdown
|
||||
Source7: %{name}-limit-systemd
|
||||
Source8: %{name}-limit-init
|
||||
Source9: macros.%{name}
|
||||
Source10: https://github.com/antirez/%{name}-doc/archive/%{doc_commit}/%{name}-doc-%{short_doc_commit}.tar.gz
|
||||
|
||||
# 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~<number of expected patches>
|
||||
# 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: %{name}-pr3491.patch
|
||||
Patch0001: 0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch
|
||||
# https://github.com/antirez/redis/pull/3494 - symlink
|
||||
Patch0007: %{name}-pr3494.patch
|
||||
Patch0002: 0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch
|
||||
%if 0%{?with_perftools}
|
||||
BuildRequires: gperftools-devel
|
||||
%else
|
||||
@ -49,13 +72,14 @@ BuildRequires: jemalloc-devel
|
||||
%endif
|
||||
%if 0%{?with_tests}
|
||||
BuildRequires: procps-ng
|
||||
BuildRequires: tcl
|
||||
%endif
|
||||
%if 0%{?with_pandoc}
|
||||
BuildRequires: pandoc
|
||||
%endif
|
||||
%if 0%{?with_systemd}
|
||||
BuildRequires: systemd
|
||||
%endif
|
||||
%if 0%{?with_tests}
|
||||
BuildRequires: tcl
|
||||
%endif
|
||||
# Required for redis-shutdown
|
||||
Requires: /bin/awk
|
||||
Requires: logrotate
|
||||
@ -70,6 +94,13 @@ Requires(preun): chkconfig
|
||||
Requires(preun): initscripts
|
||||
Requires(postun): initscripts
|
||||
%endif
|
||||
Provides: bundled(hiredis)
|
||||
Provides: bundled(lua-libs)
|
||||
Provides: bundled(linenoise)
|
||||
|
||||
%global redis_modules_abi 1
|
||||
%global redis_modules_dir %{_libdir}/%{name}/modules
|
||||
Provides: redis(modules_abi)%{?_isa} = %{redis_modules_abi}
|
||||
|
||||
%description
|
||||
Redis is an advanced key-value store. It is often referred to as a data
|
||||
@ -96,48 +127,90 @@ a cache.
|
||||
|
||||
You can use Redis from most programming languages also.
|
||||
|
||||
%package devel
|
||||
Summary: Development header for Redis module development
|
||||
# Header-Only Library (https://fedoraproject.org/wiki/Packaging:Guidelines)
|
||||
Provides: %{name}-static = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
Header file required for building loadable Redis modules. Detailed
|
||||
API documentation is available in the redis-doc package.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation for Redis including man pages
|
||||
License: CC-BY-SA
|
||||
BuildArch: noarch
|
||||
|
||||
# http://fedoraproject.org/wiki/Packaging:Conflicts "Splitting Packages"
|
||||
Conflicts: redis < 4.0
|
||||
|
||||
%description doc
|
||||
Manual pages and detailed documentation for many aspects of Redis use,
|
||||
administration and development.
|
||||
|
||||
%if 0%{?with_redistrib}
|
||||
%package trib
|
||||
Summary: Cluster management script for Redis
|
||||
BuildArch: noarch
|
||||
Requires: ruby
|
||||
Requires: rubygem-redis
|
||||
|
||||
%description trib
|
||||
Redis cluster management utility providing cluster creation, node addition
|
||||
and removal, status checks, resharding, rebalancing, and other operations.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q -b 10
|
||||
%setup -q
|
||||
mv ../%{name}-doc-%{doc_commit} doc
|
||||
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
|
||||
|
||||
# Module API version safety check
|
||||
api=`sed -n -e 's/#define REDISMODULE_APIVER_[0-9][0-9]* //p' src/redismodule.h`
|
||||
if test "$api" != "%{redis_modules_abi}"; then
|
||||
: Error: Upstream API version is now ${api}, expecting %%{redis_modules_abi}.
|
||||
: Update the redis_modules_abi macro, the rpmmacros file, and rebuild.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
%if 0%{?with_pandoc}
|
||||
docs=`find doc -name \*.md | sed -e 's|.md$||g'`
|
||||
for doc in $docs; do
|
||||
pandoc --standalone --from markdown --to html --output $doc.html $doc.md
|
||||
done
|
||||
%endif
|
||||
|
||||
%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} 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}
|
||||
install -d %{buildroot}%{_localstatedir}/log/%{name}
|
||||
install -d %{buildroot}%{_localstatedir}/run/%{name}
|
||||
install -d %{buildroot}%{redis_modules_dir}
|
||||
|
||||
# Install logrotate file.
|
||||
install -pDm644 %{S:1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||
@ -146,27 +219,34 @@ 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}
|
||||
install -pm644 %{S:2} %{buildroot}%{_unitdir}
|
||||
|
||||
# Install systemd limit files (requires systemd >= 204)
|
||||
install -p -D -m 644 %{S:8} %{buildroot}%{_sysconfdir}/systemd/system/%{name}.service.d/limit.conf
|
||||
install -p -D -m 644 %{S:8} %{buildroot}%{_sysconfdir}/systemd/system/%{name}-sentinel.service.d/limit.conf
|
||||
install -p -D -m 644 %{S:7} %{buildroot}%{_sysconfdir}/systemd/system/%{name}.service.d/limit.conf
|
||||
install -p -D -m 644 %{S:7} %{buildroot}%{_sysconfdir}/systemd/system/%{name}-sentinel.service.d/limit.conf
|
||||
%else # install SysV service files
|
||||
install -d %{buildroot}%{_localstatedir}/run/%{name}
|
||||
install -pDm755 %{S:5} %{buildroot}%{_initrddir}/%{name}-sentinel
|
||||
install -pDm755 %{S:6} %{buildroot}%{_initrddir}/%{name}
|
||||
install -p -D -m 644 %{S:9} %{buildroot}%{_sysconfdir}/security/limits.d/95-%{name}.conf
|
||||
install -pDm755 %{S:4} %{buildroot}%{_initrddir}/%{name}-sentinel
|
||||
install -pDm755 %{S:5} %{buildroot}%{_initrddir}/%{name}
|
||||
install -p -D -m 644 %{S:8} %{buildroot}%{_sysconfdir}/security/limits.d/95-%{name}.conf
|
||||
%endif
|
||||
|
||||
# Fix non-standard-executable-perm error.
|
||||
chmod 755 %{buildroot}%{_bindir}/%{name}-*
|
||||
|
||||
# Install redis-shutdown
|
||||
install -pDm755 %{S:7} %{buildroot}%{_libexecdir}/%{name}-shutdown
|
||||
install -pDm755 %{S:6} %{buildroot}%{_libexecdir}/%{name}-shutdown
|
||||
|
||||
# Install redis module header
|
||||
install -pDm644 src/%{name}module.h %{buildroot}%{_includedir}/%{name}module.h
|
||||
|
||||
%if 0%{?with_redistrib}
|
||||
# Install redis-trib
|
||||
install -pDm755 src/%{name}-trib.rb %{buildroot}%{_bindir}/%{name}-trib
|
||||
%endif
|
||||
|
||||
# Install man pages
|
||||
man=$(dirname %{buildroot}%{_mandir})
|
||||
@ -176,10 +256,32 @@ done
|
||||
ln -s redis-server.1 %{buildroot}%{_mandir}/man1/redis-sentinel.1
|
||||
ln -s redis.conf.5 %{buildroot}%{_mandir}/man5/redis-sentinel.conf.5
|
||||
|
||||
# Install documentation and html pages
|
||||
doc=$(echo %{buildroot}/%{_docdir}/%{name})
|
||||
for page in 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO; do
|
||||
install -Dpm644 $page $doc/$page
|
||||
done
|
||||
for page in $(find doc -name \*.md | sed -e 's|.md$||g'); do
|
||||
base=$(echo $page | sed -e 's|doc/||g')
|
||||
install -Dpm644 $page.md $doc/$base.md
|
||||
%if 0%{?with_pandoc}
|
||||
install -Dpm644 $page.html $doc/$base.html
|
||||
%endif
|
||||
done
|
||||
|
||||
# Install rpm macros for redis modules
|
||||
mkdir -p %{buildroot}%{macrosdir}
|
||||
install -pDm644 %{S:9} %{buildroot}%{macrosdir}/macros.%{name}
|
||||
|
||||
%check
|
||||
%if 0%{?with_tests}
|
||||
make test ||:
|
||||
make test-sentinel ||:
|
||||
# ERR Active defragmentation cannot be enabled: it requires a Redis server compiled
|
||||
# with a modified Jemalloc like the one shipped by default with the Redis source distribution
|
||||
sed -e '/memefficiency/d' -i tests/test_helper.tcl
|
||||
|
||||
# https://github.com/antirez/redis/issues/1417 (for "taskset -c 1")
|
||||
taskset -c 1 make %{make_flags} test
|
||||
make %{make_flags} test-sentinel
|
||||
%endif
|
||||
|
||||
%pre
|
||||
@ -226,12 +328,19 @@ fi
|
||||
%files
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license COPYING
|
||||
%doc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||
%attr(0640, redis, root) %config(noreplace) %{_sysconfdir}/%{name}.conf
|
||||
%attr(0640, redis, root) %config(noreplace) %{_sysconfdir}/%{name}-sentinel.conf
|
||||
%dir %attr(0750, redis, redis) %{_libdir}/%{name}
|
||||
%dir %attr(0750, redis, redis) %{redis_modules_dir}
|
||||
%dir %attr(0750, redis, redis) %{_sharedstatedir}/%{name}
|
||||
%dir %attr(0750, redis, redis) %{_localstatedir}/log/%{name}
|
||||
%if 0%{?with_redistrib}
|
||||
%exclude %{_bindir}/%{name}-trib
|
||||
%endif
|
||||
%exclude %{macrosdir}
|
||||
%exclude %{_includedir}
|
||||
%exclude %{_docdir}/%{name}/*
|
||||
%{_bindir}/%{name}-*
|
||||
%{_libexecdir}/%{name}-*
|
||||
%{_mandir}/man1/%{name}*
|
||||
@ -243,15 +352,118 @@ fi
|
||||
%config(noreplace) %{_sysconfdir}/systemd/system/%{name}.service.d/limit.conf
|
||||
%dir %{_sysconfdir}/systemd/system/%{name}-sentinel.service.d
|
||||
%config(noreplace) %{_sysconfdir}/systemd/system/%{name}-sentinel.service.d/limit.conf
|
||||
%dir %attr(0755, redis, redis) %ghost %{_localstatedir}/run/%{name}
|
||||
%else
|
||||
%dir %attr(0750, redis, redis) %{_localstatedir}/run/%{name}
|
||||
%{_initrddir}/%{name}
|
||||
%{_initrddir}/%{name}-sentinel
|
||||
%config(noreplace) %{_sysconfdir}/security/limits.d/95-%{name}.conf
|
||||
%dir %attr(0755, redis, redis) %{_localstatedir}/run/%{name}
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%license COPYING
|
||||
%{_includedir}/%{name}module.h
|
||||
%{macrosdir}/*
|
||||
|
||||
%files doc
|
||||
%docdir %{_docdir}/%{name}
|
||||
%{_docdir}/%{name}
|
||||
|
||||
%if 0%{?with_redistrib}
|
||||
%files trib
|
||||
%license COPYING
|
||||
%{_bindir}/%{name}-trib
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Mar 27 2018 Nathan Scott <nathans@redhat.com> - 4.0.9-1
|
||||
- Upstream 4.0.9 release.
|
||||
|
||||
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.0.8-2
|
||||
- Escape macros in %%changelog
|
||||
|
||||
* Wed Feb 7 2018 Nathan Scott <nathans@redhat.com> - 4.0.8-1
|
||||
- Upstream 4.0.8 release.
|
||||
|
||||
* Wed Jan 31 2018 Nathan Scott <nathans@redhat.com> - 4.0.7-1
|
||||
- Upstream 4.0.7 release.
|
||||
|
||||
* Thu Dec 7 2017 Nathan Scott <nathans@redhat.com> - 4.0.6-1
|
||||
- Upstream 4.0.6 release.
|
||||
|
||||
* Fri Dec 1 2017 Remi Collet <remi@remirepo.net> - 4.0.5-1
|
||||
- Redis 4.0.5 - Released Thu Dec 1 16:03:32 CET 2017
|
||||
- Upgrade urgency CRITICAL: Redis 4.0.4 fix for PSYNC2 was broken,
|
||||
causing the slave to crash when receiving an RDB file from the
|
||||
master that contained a duplicated Lua script.
|
||||
|
||||
* Fri Dec 01 2017 Nathan Scott <nathans@redhat.com> - 4.0.4-1
|
||||
- Upstream 4.0.4 release.
|
||||
- Update to current upstream redis-doc also.
|
||||
- Fix man page issues (RHBZ #1513594 and RHBZ #1515417).
|
||||
|
||||
* Thu Nov 30 2017 Remi Collet <remi@remirepo.net> - 4.0.3-1
|
||||
- Redis 4.0.3
|
||||
- fix ownership of /usr/share/doc/redis
|
||||
- use make_flags for test to avoid rebuild and failure
|
||||
- fix rpm macro location on EL-6
|
||||
- add /var/run/redis on EL-6
|
||||
- add spec file license header
|
||||
- drop duplicated documentation from main package
|
||||
- keep man in main page
|
||||
|
||||
* Fri Nov 17 2017 Nathan Scott <nathans@redhat.com> - 4.0.2-2
|
||||
- Install the base modules directories, owned by the main package.
|
||||
|
||||
* Tue Oct 31 2017 Nathan Scott <nathans@redhat.com> - 4.0.2-1
|
||||
- Upstream 4.0.2 release. (RHBZ #1389592)
|
||||
- Add redis-devel for loadable module development.
|
||||
- Add redis-doc for man pages and detailed documentation.
|
||||
- Provide redis-check-aof as a symlink to redis-server also now.
|
||||
|
||||
* Tue Sep 26 2017 Nathan Scott <nathans@redhat.com> - 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 <nathans@redhat.com> - 3.2.10-2
|
||||
- Add redis-trib based on patch from Sebastian Saletnik. (RHBZ #1215654)
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.9-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Mon Jul 31 2017 Nathan Scott <nathans@redhat.com> - 3.2.10-1
|
||||
- Upstream 3.2.10 release
|
||||
- Ensure both the redis and redis-sentinel service files set correct perms
|
||||
- Dropped systemd tmpfiles source, handled directly in systemd service files
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.9-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Mon May 29 2017 Nathan Scott <nathans@redhat.com> - 3.2.9-1
|
||||
- Upstream 3.2.9
|
||||
- Add RuntimeDirectory=redis to systemd unit file (RHBZ #1454700)
|
||||
- Mark rundir as %%ghost since it may disappear (tmpfs - #1454700)
|
||||
- Fix a shutdown failure with Unix domain sockets (RHBZ #1444988)
|
||||
|
||||
* Mon Feb 20 2017 Haïkel Guémar <hguemar@fedoraproject.org> - 3.2.8-1
|
||||
- Upstream 3.2.8
|
||||
- bugfix for #3796 (MIGRATE could cause server crash after socket error)
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Sat Feb 4 2017 Haïkel Guémar <hguemar@fedoraproject.org> - 3.2.7-1
|
||||
- Upstream 3.2.7 (important security fix)
|
||||
|
||||
* Sat Nov 05 2016 Alan Pevec <apevec AT redhat.com> - 3.2.4-2
|
||||
- Install tmpfiles and /run/redis for legacy configurations
|
||||
|
||||
* Mon Sep 26 2016 Haïkel Guémar <hguemar@fedoraproject.org> - 3.2.4-1
|
||||
- Upstream 3.2.4
|
||||
- Fix buffer overlow (TALOS-2016-0206)
|
||||
|
||||
* Wed Sep 14 2016 Remi Collet <remi@fedoraproject.org> - 3.2.3-2
|
||||
- add missing man pages #1374577
|
||||
using patch from https://github.com/antirez/redis/pull/3491
|
||||
|
@ -1,2 +0,0 @@
|
||||
# redis runtime directory
|
||||
d /run/redis 0755 redis redis -
|
3
sources
3
sources
@ -1 +1,2 @@
|
||||
138209b54dfc9819e6aea7b9503f8bd3 redis-3.2.3.tar.gz
|
||||
SHA512 (redis-4.0.9.tar.gz) = a6cf63cb361f0a87da3955ba628190dc04cad342f7a664d18e44416ee67dd86ed6e3a46b9701e994f1417e56b819b3c6fc595f363c10bb4b83d5033919d29598
|
||||
SHA512 (redis-doc-38c2bd6.tar.gz) = b878e43e942c24b0bb195d36f50e0f7f3efc1aab339c8a7f9bd9c04318a13bfad41334a9f08e4e865c5708221b421a3e7a0f343a9fe728f3f9b4eb1404ef8517
|
||||
|
Loading…
Reference in New Issue
Block a user