mirror of
https://abf.rosa.ru/djam/redis.git
synced 2025-02-23 14:32:49 +00:00
5.0.8
This commit is contained in:
parent
08cf8c64c9
commit
f245b6efaf
13 changed files with 856 additions and 143 deletions
5
.abf.yml
5
.abf.yml
|
@ -1,5 +1,2 @@
|
|||
removed_sources:
|
||||
redis-2.4.15.tar.gz: 9e388d2c070b15136da1277f4d21f1c788694b12
|
||||
redis-2.4.17.tar.gz: 3d540531b3d7103a511d29661c2ae666dac60522
|
||||
sources:
|
||||
redis-2.8.13.tar.gz: a72925a35849eb2d38a1ea076a3db82072d4ee43
|
||||
redis-5.0.8.tar.gz: 6a31f85506d5f2fc5aa83dedbdb7ddb82948a7dc
|
||||
|
|
652
0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch
Normal file
652
0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch
Normal file
|
@ -0,0 +1,652 @@
|
|||
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 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)
|
||||
redis.conf can also be used for sentinel.conf
|
||||
---
|
||||
man/man1/redis-benchmark.1 | 132 ++++++++++++++++++++++++++++++++++
|
||||
man/man1/redis-check-aof.1 | 60 ++++++++++++++++
|
||||
man/man1/redis-check-rdb.1 | 53 ++++++++++++++
|
||||
man/man1/redis-cli.1 | 171 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
man/man1/redis-server.1 | 117 +++++++++++++++++++++++++++++++
|
||||
man/man5/redis.conf.5 | 57 +++++++++++++++
|
||||
6 files changed, 590 insertions(+)
|
||||
create mode 100644 man/man1/redis-benchmark.1
|
||||
create mode 100644 man/man1/redis-check-aof.1
|
||||
create mode 100644 man/man1/redis-check-rdb.1
|
||||
create mode 100644 man/man1/redis-cli.1
|
||||
create mode 100644 man/man1/redis-server.1
|
||||
create mode 100644 man/man5/redis.conf.5
|
||||
|
||||
diff --git a/man/man1/redis-benchmark.1 b/man/man1/redis-benchmark.1
|
||||
new file mode 100644
|
||||
index 0000000..a3e4c62
|
||||
--- /dev/null
|
||||
+++ b/man/man1/redis-benchmark.1
|
||||
@@ -0,0 +1,132 @@
|
||||
+.TH REDIS-BENCHMARK 1 "2016" "Redis" "User commands"
|
||||
+.SH NAME
|
||||
+redis\-benchmark \- Redis benchmark
|
||||
+
|
||||
+.SH SYNOPSIS
|
||||
+.B redis\-benchmark
|
||||
+[ options ]
|
||||
+.LP
|
||||
+
|
||||
+.SH DESCRIPTION
|
||||
+\fBRedis\fP is an open source (BSD licensed), in-memory data structure store,
|
||||
+used as database, cache and message broker, found at
|
||||
+.B http://redis.io/
|
||||
+
|
||||
+The \fBredis\-benchmark\fP command is a command to benchmark redis-server.
|
||||
+
|
||||
+.SH OPTIONS
|
||||
+.TP 15
|
||||
+.B \-h \fIhostname\fP
|
||||
+Server hostname (default: 127.0.0.1).
|
||||
+.TP
|
||||
+.B \-p \fIport\fP
|
||||
+Server port (default: 6379).
|
||||
+.TP
|
||||
+.B \-s \fIsocket\fP
|
||||
+Server socket (overrides hostname and port).
|
||||
+.TP
|
||||
+.B \-a \fIpassword\fP
|
||||
+Password to use when connecting to the server.
|
||||
+.TP
|
||||
+.B \-c \fIclients\fP
|
||||
+Number of parallel connections (default 50)
|
||||
+.TP
|
||||
+.B \-dnnum \fIdb\fP
|
||||
+SELECT the specified db number (default 0)
|
||||
+.TP
|
||||
+.B \-k \fIboolean\fP
|
||||
+1=keep alive 0=reconnect (default 1)
|
||||
+.TP
|
||||
+.B \-r \fIkeyspacelen\fP
|
||||
+Use random keys for SET/GET/INCR, random values for SADD
|
||||
+Using this option the benchmark will expand the string __rand_int__
|
||||
+inside an argument with a 12 digits number in the specified range
|
||||
+from 0 to keyspacelen-1. The substitution changes every time a command
|
||||
+is executed. Default tests use this to hit random keys in the
|
||||
+specified range.
|
||||
+.TP
|
||||
+.B \-P \fInumreq\fP
|
||||
+Pipeline <numreq> requests. Default 1 (no pipeline).
|
||||
+.TP
|
||||
+.B \-e
|
||||
+If server replies with errors, show them on stdout.
|
||||
+(no more than 1 error per second is displayed)
|
||||
+.TP
|
||||
+.B \-q
|
||||
+Quiet. Just show query/sec values
|
||||
+.TP
|
||||
+.B \-\-csv
|
||||
+Output in CSV format
|
||||
+.TP
|
||||
+.B \-l
|
||||
+Loop. Run the tests forever
|
||||
+.TP
|
||||
+.B \-t \fItests\fP
|
||||
+Only run the comma separated list of tests. The test
|
||||
+names are the same as the ones produced as output.
|
||||
+.TP
|
||||
+.B \-I
|
||||
+Idle mode. Just open N idle connections and wait.
|
||||
+
|
||||
+.SH EXAMPLES
|
||||
+.TP 5
|
||||
+Run the benchmark with the default configuration against 127.0.0.1:6379:
|
||||
+$ redis\-benchmark
|
||||
+.TP
|
||||
+Use 20 parallel clients, for a total of 100k requests, against 192.168.1.1:
|
||||
+$ redis-benchmark \-h 192.168.1.1 \-p 6379 \-n 100000 \-c 20
|
||||
+.TP
|
||||
+Fill 127.0.0.1:6379 with about 1 million keys only using the SET test:
|
||||
+$ redis\-benchmark \-t set \-n 1000000 \-r 100000000
|
||||
+.TP
|
||||
+Benchmark 127.0.0.1:6379 for a few commands producing CSV output:
|
||||
+$ redis\-benchmark \-t ping,set,get \-n 100000 \-\-csv
|
||||
+.TP
|
||||
+Benchmark a specific command line:
|
||||
+$ redis\-benchmark \-r 10000 \-n 10000 eval 'return redis.call("ping")' 0
|
||||
+.TP
|
||||
+Fill a list with 10000 random elements:
|
||||
+$ redis\-benchmark \-r 10000 \-n 10000 lpush mylist __rand_int__
|
||||
+.TP
|
||||
+On user specified command lines __rand_int__ is replaced with a random integer
|
||||
+with a range of values selected by the -r option.
|
||||
+
|
||||
+
|
||||
+.SH BUGS
|
||||
+See:
|
||||
+.PD 0
|
||||
+.B http://redis.io/support
|
||||
+and
|
||||
+.B https://github.com/antirez/redis/issues
|
||||
+
|
||||
+.SH COPYRIGHT
|
||||
+Copyright \(co 2006\-2016
|
||||
+Salvatore Sanfilippo
|
||||
+.P
|
||||
+Redistribution and use in source and binary forms, with or without
|
||||
+modification, are permitted provided that the following conditions are met:
|
||||
+.TP 2
|
||||
+*
|
||||
+Redistributions of source code must retain the above copyright notice,
|
||||
+this list of conditions and the following disclaimer.
|
||||
+.TP
|
||||
+*
|
||||
+Redistributions in binary form must reproduce the above copyright
|
||||
+notice, this list of conditions and the following disclaimer in the
|
||||
+documentation and/or other materials provided with the distribution.
|
||||
+.TP
|
||||
+*
|
||||
+Neither the name of Redis nor the names of its contributors may be used
|
||||
+to endorse or promote products derived from this software without specific
|
||||
+prior written permission.
|
||||
+.P
|
||||
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
+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.
|
||||
diff --git a/man/man1/redis-check-aof.1 b/man/man1/redis-check-aof.1
|
||||
new file mode 100644
|
||||
index 0000000..1569fd9
|
||||
--- /dev/null
|
||||
+++ b/man/man1/redis-check-aof.1
|
||||
@@ -0,0 +1,60 @@
|
||||
+.TH REDIS-CHECK-AOF 1 "2016" "Redis" "User commands"
|
||||
+.SH NAME
|
||||
+redis\-check\-aof \- Redis AOF file checker and repairer
|
||||
+
|
||||
+.SH SYNOPSIS
|
||||
+.B redis\-check\-aof
|
||||
+[\-\-fix]
|
||||
+.IR file.aof
|
||||
+
|
||||
+.SH DESCRIPTION
|
||||
+\fBRedis\fP is an open source (BSD licensed), in-memory data structure store,
|
||||
+used as database, cache and message broker, found at
|
||||
+.B http://redis.io/
|
||||
+
|
||||
+The \fBredis\-check\-aof\fP command to check or repair redis-server AOF files.
|
||||
+
|
||||
+.SH OPTIONS
|
||||
+.TP 15
|
||||
+.B \-\-fix
|
||||
+Fix the file
|
||||
+
|
||||
+
|
||||
+.SH BUGS
|
||||
+See:
|
||||
+.PD 0
|
||||
+.B http://redis.io/support
|
||||
+and
|
||||
+.B https://github.com/antirez/redis/issues
|
||||
+
|
||||
+.SH COPYRIGHT
|
||||
+Copyright \(co 2006\-2016
|
||||
+Salvatore Sanfilippo
|
||||
+.P
|
||||
+Redistribution and use in source and binary forms, with or without
|
||||
+modification, are permitted provided that the following conditions are met:
|
||||
+.TP 2
|
||||
+*
|
||||
+Redistributions of source code must retain the above copyright notice,
|
||||
+this list of conditions and the following disclaimer.
|
||||
+.TP
|
||||
+*
|
||||
+Redistributions in binary form must reproduce the above copyright
|
||||
+notice, this list of conditions and the following disclaimer in the
|
||||
+documentation and/or other materials provided with the distribution.
|
||||
+.TP
|
||||
+*
|
||||
+Neither the name of Redis nor the names of its contributors may be used
|
||||
+to endorse or promote products derived from this software without specific
|
||||
+prior written permission.
|
||||
+.P
|
||||
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
+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.
|
||||
diff --git a/man/man1/redis-check-rdb.1 b/man/man1/redis-check-rdb.1
|
||||
new file mode 100644
|
||||
index 0000000..0e798ab
|
||||
--- /dev/null
|
||||
+++ b/man/man1/redis-check-rdb.1
|
||||
@@ -0,0 +1,53 @@
|
||||
+.TH REDIS-CHECK-RDB 1 "2016" "Redis" "User commands"
|
||||
+.SH NAME
|
||||
+redis\-check\-aof \- Redis RDB file checker
|
||||
+
|
||||
+.SH SYNOPSIS
|
||||
+.B redis\-check\-aof
|
||||
+.IR file.rdb
|
||||
+
|
||||
+.SH DESCRIPTION
|
||||
+\fBRedis\fP is an open source (BSD licensed), in-memory data structure store,
|
||||
+used as database, cache and message broker, found at
|
||||
+.B http://redis.io/
|
||||
+
|
||||
+The \fBredis\-check\-rdb\fP command to check redis-server RDB files.
|
||||
+
|
||||
+.SH BUGS
|
||||
+See:
|
||||
+.PD 0
|
||||
+.B http://redis.io/support
|
||||
+and
|
||||
+.B https://github.com/antirez/redis/issues
|
||||
+
|
||||
+.SH COPYRIGHT
|
||||
+Copyright \(co 2006\-2016
|
||||
+Salvatore Sanfilippo
|
||||
+.P
|
||||
+Redistribution and use in source and binary forms, with or without
|
||||
+modification, are permitted provided that the following conditions are met:
|
||||
+.TP 2
|
||||
+*
|
||||
+Redistributions of source code must retain the above copyright notice,
|
||||
+this list of conditions and the following disclaimer.
|
||||
+.TP
|
||||
+*
|
||||
+Redistributions in binary form must reproduce the above copyright
|
||||
+notice, this list of conditions and the following disclaimer in the
|
||||
+documentation and/or other materials provided with the distribution.
|
||||
+.TP
|
||||
+*
|
||||
+Neither the name of Redis nor the names of its contributors may be used
|
||||
+to endorse or promote products derived from this software without specific
|
||||
+prior written permission.
|
||||
+.P
|
||||
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
+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.
|
||||
diff --git a/man/man1/redis-cli.1 b/man/man1/redis-cli.1
|
||||
new file mode 100644
|
||||
index 0000000..14f84df
|
||||
--- /dev/null
|
||||
+++ b/man/man1/redis-cli.1
|
||||
@@ -0,0 +1,171 @@
|
||||
+.TH REDIS-CLI 1 "2016" "Redis" "User commands"
|
||||
+.SH NAME
|
||||
+redis\-cli \- Redis client
|
||||
+
|
||||
+.SH SYNOPSIS
|
||||
+.B redis\-cli
|
||||
+[ options ] [cmd [arg [arg ...]]]
|
||||
+.LP
|
||||
+
|
||||
+.SH DESCRIPTION
|
||||
+\fBRedis\fP is an open source (BSD licensed), in-memory data structure store,
|
||||
+used as database, cache and message broker, found at
|
||||
+.B http://redis.io/
|
||||
+
|
||||
+The \fBredis-cli\fP command is a command line client to redis-server.
|
||||
+
|
||||
+.SH OPTIONS
|
||||
+.TP 15
|
||||
+.B \-h \fIhostname\fP
|
||||
+Server hostname (default: 127.0.0.1).
|
||||
+.TP
|
||||
+.B \-p \fIport\fP
|
||||
+Server port (default: 6379).
|
||||
+.TP
|
||||
+.B \-s \fIsocket\fP
|
||||
+Server socket (overrides hostname and port).
|
||||
+.TP
|
||||
+.B \-a \fIpassword\fP
|
||||
+Password to use when connecting to the server.
|
||||
+.TP
|
||||
+.B \-r \fIrepeat\fP
|
||||
+Execute specified command N times.
|
||||
+.TP
|
||||
+.B \-i \fIinterval\fP
|
||||
+When -r is used, waits \fIinterval\fP seconds per command.
|
||||
+It is possible to specify sub-second times like -i 0.1.
|
||||
+.TP
|
||||
+.B \-n \fIdb\fP
|
||||
+Database number.
|
||||
+.TP
|
||||
+.B \-x
|
||||
+Read last argument from STDIN.
|
||||
+.TP
|
||||
+.B \-d \fIdelimiter\fP
|
||||
+Multi-bulk delimiter in for raw formatting (default: \n).
|
||||
+.TP
|
||||
+.B \-c
|
||||
+Enable cluster mode (follow -ASK and -MOVED redirections).
|
||||
+.TP
|
||||
+.B \-\-raw
|
||||
+Use raw formatting for replies (default when STDOUT is not a tty).
|
||||
+.TP
|
||||
+.B \-\-no\-raw
|
||||
+Force formatted output even when STDOUT is not a tty.
|
||||
+.TP
|
||||
+.B \-\-csv
|
||||
+Output in CSV format.
|
||||
+.TP
|
||||
+.B \-\-stat
|
||||
+Print rolling stats about server: mem, clients, ...
|
||||
+.TP
|
||||
+.B \-\-latency
|
||||
+Enter a special mode continuously sampling latency.
|
||||
+.TP
|
||||
+.B \-\-latency\-history
|
||||
+Like \-\-latency but tracking latency changes over time.
|
||||
+Default time interval is 15 sec. Change it using -i.
|
||||
+.TP
|
||||
+.B \-\-latency\-dist
|
||||
+Shows latency as a spectrum, requires xterm 256 colors.
|
||||
+Default time interval is 1 sec. Change it using -i.
|
||||
+.TP
|
||||
+.B \-\-lru\-test
|
||||
+Simulate a cache workload with an 80-20 distribution.
|
||||
+.TP
|
||||
+.B \-\-slave
|
||||
+Simulate a slave showing commands received from the master.
|
||||
+.TP
|
||||
+.B \-\-rdb \fIfilename\fP
|
||||
+Transfer an RDB dump from remote server to local file.
|
||||
+.TP
|
||||
+.B \-\-pipe
|
||||
+Transfer raw Redis protocol from stdin to server.
|
||||
+.TP
|
||||
+.B \-\-pipe-timeout \fIn\fP
|
||||
+In --pipe mode, abort with error if after sending all data.
|
||||
+no reply is received within \fIn\fP seconds.
|
||||
+Default timeout: 30. Use 0 to wait forever.
|
||||
+.TP
|
||||
+.B \-\-bigkeys
|
||||
+Sample Redis keys looking for big keys.
|
||||
+.TP
|
||||
+.B \-\-scan
|
||||
+List all keys using the SCAN command.
|
||||
+.TP
|
||||
+.B \-\-pattern \fIpat\fP
|
||||
+Useful with --scan to specify a SCAN pattern.
|
||||
+.TP
|
||||
+.B \-\-intrinsic-latency \fIsec\fP
|
||||
+Run a test to measure intrinsic system latency.
|
||||
+The test will run for the specified amount of seconds.
|
||||
+.TP
|
||||
+.B \-\-eval \fIfile\fP
|
||||
+Send an EVAL command using the Lua script at \fIfile\fP.
|
||||
+.TP
|
||||
+.B \-\-ldb
|
||||
+Used with --eval enable the Redis Lua debugger.
|
||||
+.TP
|
||||
+.B \-\-ldb-sync-mode
|
||||
+Like --ldb but uses the synchronous Lua debugger, in
|
||||
+this mode the server is blocked and script changes are
|
||||
+are not rolled back from the server memory.
|
||||
+.TP
|
||||
+.B \-\-help
|
||||
+Output this help and exit.
|
||||
+.TP
|
||||
+.B \-\-version
|
||||
+Output version and exit.
|
||||
+
|
||||
+.SH EXAMPLES
|
||||
+.TP
|
||||
+cat /etc/passwd | redis-cli -x set mypasswd
|
||||
+.TP
|
||||
+redis-cli get mypasswd
|
||||
+.TP
|
||||
+redis-cli \-r 100 lpush mylist x
|
||||
+.TP
|
||||
+redis-cli \-r 100 \-i 1 info | grep used_memory_human:
|
||||
+.TP
|
||||
+redis-cli \-\-eval myscript.lua key1 key2 , arg1 arg2 arg3
|
||||
+.TP
|
||||
+redis-cli \-\-scan \-\-pattern '*:12345*'
|
||||
+
|
||||
+.SH BUGS
|
||||
+See:
|
||||
+.PD 0
|
||||
+.B http://redis.io/support
|
||||
+and
|
||||
+.B https://github.com/antirez/redis/issues
|
||||
+
|
||||
+.SH COPYRIGHT
|
||||
+Copyright \(co 2006\-2016
|
||||
+Salvatore Sanfilippo
|
||||
+.P
|
||||
+Redistribution and use in source and binary forms, with or without
|
||||
+modification, are permitted provided that the following conditions are met:
|
||||
+.TP 2
|
||||
+*
|
||||
+Redistributions of source code must retain the above copyright notice,
|
||||
+this list of conditions and the following disclaimer.
|
||||
+.TP
|
||||
+*
|
||||
+Redistributions in binary form must reproduce the above copyright
|
||||
+notice, this list of conditions and the following disclaimer in the
|
||||
+documentation and/or other materials provided with the distribution.
|
||||
+.TP
|
||||
+*
|
||||
+Neither the name of Redis nor the names of its contributors may be used
|
||||
+to endorse or promote products derived from this software without specific
|
||||
+prior written permission.
|
||||
+.P
|
||||
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
+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.
|
||||
diff --git a/man/man1/redis-server.1 b/man/man1/redis-server.1
|
||||
new file mode 100644
|
||||
index 0000000..d6edd25
|
||||
--- /dev/null
|
||||
+++ b/man/man1/redis-server.1
|
||||
@@ -0,0 +1,117 @@
|
||||
+.TH REDIS-SERVER 1 "2016" "Redis" "User commands"
|
||||
+.SH NAME
|
||||
+redis\-server, redis\-sentinel \- Redis server
|
||||
+
|
||||
+.SH SYNOPSIS
|
||||
+.B redis\-server
|
||||
+[
|
||||
+.IR configuration_file
|
||||
+] [ options ] [ \-\-sentinel ]
|
||||
+.LP
|
||||
+.B redis\-sentinel
|
||||
+[
|
||||
+.IR configuration_file
|
||||
+] [ options ]
|
||||
+
|
||||
+
|
||||
+.SH DESCRIPTION
|
||||
+\fBRedis\fP is an open source (BSD licensed), in-memory data structure store,
|
||||
+used as database, cache and message broker, found at
|
||||
+.B http://redis.io/
|
||||
+.LP
|
||||
+The \fBredis\-server\fP command is a command line to launch a Redis server.
|
||||
+.LP
|
||||
+The \fBredis\-sentinel\fP command is a symbolic link to the \fBredis\-server\fP
|
||||
+command which imply the \fB\-\-sentionel\fP option.
|
||||
+
|
||||
+.SH OPTIONS
|
||||
+.TP 15
|
||||
+.B \-
|
||||
+Read configuration from stdin.
|
||||
+.TP
|
||||
+.TP 15
|
||||
+.B \-\-sentinel
|
||||
+Run in sentinel mode
|
||||
+.TP
|
||||
+.B \-\-test-memory \fImegabytes\fP
|
||||
+Run a memory check and exit.
|
||||
+.TP
|
||||
+.PD 0
|
||||
+.B \-\-help
|
||||
+.TP
|
||||
+.PD 1
|
||||
+.B \-h
|
||||
+Output this help and exit.
|
||||
+.TP
|
||||
+.PD 0
|
||||
+.B \-\-version
|
||||
+.TP
|
||||
+.PD 1
|
||||
+.B \-v
|
||||
+Output version and exit.
|
||||
+.P
|
||||
+All parameters described in \fBredis.conf\fR file can be passed as
|
||||
+command line option, e.g.
|
||||
+.B \-\-port
|
||||
+.IR port
|
||||
+.
|
||||
+
|
||||
+.SH EXAMPLES
|
||||
+.TP 5
|
||||
+Run the server with default conf
|
||||
+redis-server
|
||||
+.TP
|
||||
+Run the server with a configuration file
|
||||
+redis-server /etc/redis/6379.conf
|
||||
+.TP
|
||||
+Run the server changing some default options
|
||||
+redis-server --port 7777 --slaveof 127.0.0.1 8888
|
||||
+.TP
|
||||
+Run the server with a configuration file and changing some options
|
||||
+redis-server /etc/myredis.conf --loglevel verbose
|
||||
+.TP
|
||||
+Run in sentinel mode
|
||||
+redis-server /etc/sentinel.conf --sentinel
|
||||
+
|
||||
+.SH "SEE ALSO"
|
||||
+.PP
|
||||
+\fBredis.conf\fR(5)
|
||||
+
|
||||
+.SH BUGS
|
||||
+See:
|
||||
+.PD 0
|
||||
+.B http://redis.io/support
|
||||
+and
|
||||
+.B https://github.com/antirez/redis/issues
|
||||
+
|
||||
+.SH COPYRIGHT
|
||||
+Copyright \(co 2006\-2016
|
||||
+Salvatore Sanfilippo
|
||||
+.P
|
||||
+Redistribution and use in source and binary forms, with or without
|
||||
+modification, are permitted provided that the following conditions are met:
|
||||
+.TP 2
|
||||
+*
|
||||
+Redistributions of source code must retain the above copyright notice,
|
||||
+this list of conditions and the following disclaimer.
|
||||
+.TP
|
||||
+*
|
||||
+Redistributions in binary form must reproduce the above copyright
|
||||
+notice, this list of conditions and the following disclaimer in the
|
||||
+documentation and/or other materials provided with the distribution.
|
||||
+.TP
|
||||
+*
|
||||
+Neither the name of Redis nor the names of its contributors may be used
|
||||
+to endorse or promote products derived from this software without specific
|
||||
+prior written permission.
|
||||
+.P
|
||||
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
+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.
|
||||
diff --git a/man/man5/redis.conf.5 b/man/man5/redis.conf.5
|
||||
new file mode 100644
|
||||
index 0000000..1e0c9c9
|
||||
--- /dev/null
|
||||
+++ b/man/man5/redis.conf.5
|
||||
@@ -0,0 +1,57 @@
|
||||
+.TH REDIS.CONF 5 "2016" "Redis" "Configuration files"
|
||||
+.SH NAME
|
||||
+redis.conf, sentinel.conf - redis server configuration files.
|
||||
+
|
||||
+.SH PARAMETERS
|
||||
+.TP
|
||||
+All empty lines or lines beginning with '#' are ignored.
|
||||
+.TP
|
||||
+See inline comments for parameters description.
|
||||
+
|
||||
+.SH DESCRIPTION
|
||||
+.TP
|
||||
+\fBredis-server\fP read the configuration file passed as first argument.
|
||||
+
|
||||
+.SH "SEE ALSO"
|
||||
+.PP
|
||||
+\fBredis\-server\fR(1)
|
||||
+
|
||||
+
|
||||
+.SH BUGS
|
||||
+See:
|
||||
+.PD 0
|
||||
+.B http://redis.io/support
|
||||
+and
|
||||
+.B https://github.com/antirez/redis/issues
|
||||
+
|
||||
+.SH COPYRIGHT
|
||||
+Copyright \(co 2006\-2016
|
||||
+Salvatore Sanfilippo
|
||||
+.P
|
||||
+Redistribution and use in source and binary forms, with or without
|
||||
+modification, are permitted provided that the following conditions are met:
|
||||
+.TP 2
|
||||
+*
|
||||
+Redistributions of source code must retain the above copyright notice,
|
||||
+this list of conditions and the following disclaimer.
|
||||
+.TP
|
||||
+*
|
||||
+Redistributions in binary form must reproduce the above copyright
|
||||
+notice, this list of conditions and the following disclaimer in the
|
||||
+documentation and/or other materials provided with the distribution.
|
||||
+.TP
|
||||
+*
|
||||
+Neither the name of Redis nor the names of its contributors may be used
|
||||
+to endorse or promote products derived from this software without specific
|
||||
+prior written permission.
|
||||
+.P
|
||||
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
+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
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
diff -up redis-5.0.4/src/Makefile.0001~ redis-5.0.4/src/Makefile
|
||||
--- redis-5.0.4/src/Makefile.0001~ 2019-05-02 02:32:16.867388453 +0200
|
||||
+++ redis-5.0.4/src/Makefile 2019-05-02 02:38:05.444210814 +0200
|
||||
@@ -307,9 +307,9 @@ 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)
|
||||
@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)
|
||||
|
||||
uninstall:
|
||||
rm -f $(INSTALL_BIN)/{$(REDIS_SERVER_NAME),$(REDIS_BENCHMARK_NAME),$(REDIS_CLI_NAME),$(REDIS_CHECK_RDB_NAME),$(REDIS_CHECK_AOF_NAME),$(REDIS_SENTINEL_NAME)}
|
|
@ -1,22 +0,0 @@
|
|||
From: Chris Lamb <lamby@debian.org>
|
||||
Date: Sat, 21 Nov 2015 16:15:23 +0200
|
||||
Subject: CVE-2015-8080: Integer wraparound in lua_struct.c causing
|
||||
stack-based buffer overflow
|
||||
|
||||
---
|
||||
deps/lua/src/lua_struct.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/deps/lua/src/lua_struct.c b/deps/lua/src/lua_struct.c
|
||||
index ec78bcb..b5f8647 100644
|
||||
--- a/deps/lua/src/lua_struct.c
|
||||
+++ b/deps/lua/src/lua_struct.c
|
||||
@@ -96,7 +96,7 @@ static int getnum (const char **fmt, int df) {
|
||||
int a = 0;
|
||||
do {
|
||||
a = a*10 + *((*fmt)++) - '0';
|
||||
- } while (isdigit(**fmt));
|
||||
+ } while (isdigit(**fmt) && a <= ((int)MAXINTSIZE - 9)/10);
|
||||
return a;
|
||||
}
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 89f607c..536cbc6 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -26,12 +26,7 @@ PREFIX?=/usr/local
|
||||
INSTALL_BIN=$(PREFIX)/bin
|
||||
INSTALL=install
|
||||
|
||||
-# Default allocator
|
||||
-ifeq ($(uname_S),Linux)
|
||||
- MALLOC=jemalloc
|
||||
-else
|
||||
- MALLOC=libc
|
||||
-endif
|
||||
+MALLOC?=jemalloc
|
||||
|
||||
# Backwards compatibility for selecting an allocator
|
||||
ifeq ($(USE_TCMALLOC),yes)
|
||||
@@ -83,9 +78,8 @@ ifeq ($(MALLOC),tcmalloc_minimal)
|
||||
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
|
||||
+ FINAL_LIBS+= -ljemalloc -ldl
|
||||
endif
|
||||
|
||||
REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS)
|
|
@ -1,24 +1,16 @@
|
|||
--- a/redis.conf 2014-12-02 16:22:38.722433643 +0100
|
||||
+++ b/redis.conf 2014-12-02 16:22:16.252249350 +0100
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
# When running daemonized, Redis writes a pid file in /var/run/redis.pid by
|
||||
# default. You can specify a custom pid file location here.
|
||||
-pidfile /var/run/redis.pid
|
||||
diff -up redis-6.0-rc3/redis.conf.4~ redis-6.0-rc3/redis.conf
|
||||
--- redis-6.0-rc3/redis.conf.4~ 2020-03-31 17:56:04.000000000 +0200
|
||||
+++ redis-6.0-rc3/redis.conf 2020-04-01 01:35:46.782153947 +0200
|
||||
@@ -224,7 +224,7 @@ supervised no
|
||||
#
|
||||
# Creating a pid file is best effort: if Redis is not able to create it
|
||||
# nothing bad happens, the server will start and run normally.
|
||||
-pidfile /var/run/redis_6379.pid
|
||||
+pidfile /run/redis/redis.pid
|
||||
|
||||
# Accept connections on the specified port, default is 6379.
|
||||
# If port 0 is specified Redis will not listen on a TCP socket.
|
||||
@@ -61,7 +61,7 @@
|
||||
# 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
|
||||
@@ -100,7 +100,7 @@
|
||||
# Specify the server verbosity level.
|
||||
# This can be one of:
|
||||
@@ -237,7 +237,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
|
||||
|
@ -27,20 +19,20 @@
|
|||
|
||||
# To enable logging to the system logger, just set 'syslog-enabled' to yes,
|
||||
# and optionally update the other syslog parameters to suit your needs.
|
||||
@@ -184,7 +184,7 @@
|
||||
@@ -342,7 +342,7 @@ rdb-del-sync-files no
|
||||
# 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/
|
||||
+dir /var/lib/redis
|
||||
|
||||
################################# REPLICATION #################################
|
||||
|
||||
@@ -403,6 +403,7 @@
|
||||
@@ -821,6 +821,7 @@ replica-priority 100
|
||||
# output buffers (but this is not needed if the policy is 'noeviction').
|
||||
#
|
||||
# maxmemory <bytes>
|
||||
+maxmemory 67108864
|
||||
+maxmemory 256m
|
||||
|
||||
# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
|
||||
# is reached. You can select among five behaviors:
|
||||
# is reached. You can select one from the following behaviors:
|
13
redis-4.0.8-workaround-make-deadlock.patch
Normal file
13
redis-4.0.8-workaround-make-deadlock.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
--- redis-4.0.8/deps/Makefile.omv~ 2018-02-06 18:32:27.706799033 +0100
|
||||
+++ redis-4.0.8/deps/Makefile 2018-02-06 18:32:57.390912727 +0100
|
||||
@@ -33,10 +33,6 @@ ifneq ($(shell sh -c '[ -f .make-ldflags
|
||||
endif
|
||||
|
||||
distclean:
|
||||
- -(cd hiredis && $(MAKE) clean) > /dev/null || true
|
||||
- -(cd linenoise && $(MAKE) clean) > /dev/null || true
|
||||
- -(cd lua && $(MAKE) clean) > /dev/null || true
|
||||
- -(cd jemalloc && [ -f Makefile ] && $(MAKE) distclean) > /dev/null || true
|
||||
-(rm -f .make-*)
|
||||
|
||||
.PHONY: distclean
|
7
redis-limit-systemd
Normal file
7
redis-limit-systemd
Normal file
|
@ -0,0 +1,7 @@
|
|||
# If you need to change max open file limit
|
||||
# for example, when you change maxclient in configuration
|
||||
# you can change the LimitNOFILE value below
|
||||
# see "man systemd.exec" for information
|
||||
|
||||
[Service]
|
||||
LimitNOFILE=10240
|
13
redis-sentinel.service
Normal file
13
redis-sentinel.service
Normal file
|
@ -0,0 +1,13 @@
|
|||
[Unit]
|
||||
Description=Redis Sentinel
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/redis-sentinel /etc/redis-sentinel.conf --daemonize no
|
||||
ExecStop=/usr/bin/redis-shutdown redis-sentinel
|
||||
User=redis
|
||||
Group=redis
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
35
redis-shutdown
Normal file
35
redis-shutdown
Normal file
|
@ -0,0 +1,35 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Wrapper to close properly redis and sentinel
|
||||
test x"$REDIS_DEBUG" != x && set -x
|
||||
|
||||
REDIS_CLI=/usr/bin/redis-cli
|
||||
|
||||
# Retrieve service name
|
||||
SERVICE_NAME="$1"
|
||||
if [ -z "$SERVICE_NAME" ]; then
|
||||
SERVICE_NAME=redis
|
||||
fi
|
||||
|
||||
# Get the proper config file based on service name
|
||||
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`
|
||||
|
||||
# Just in case, use default host, port
|
||||
HOST=${HOST:-127.0.0.1}
|
||||
if [ "$SERVICE_NAME" = redis ]; then
|
||||
PORT=${PORT:-6379}
|
||||
else
|
||||
PORT=${PORT:-26739}
|
||||
fi
|
||||
|
||||
# Setup additional parameters
|
||||
# e.g password-protected redis instances
|
||||
[ -z "$PASS" ] || ADDITIONAL_PARAMS="-a $PASS"
|
||||
|
||||
# shutdown the service properly
|
||||
$REDIS_CLI -h $HOST -p $PORT $ADDITIONAL_PARAMS shutdown
|
|
@ -3,9 +3,10 @@ Description=A persistent key-value database
|
|||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/var/run/redis/redis.pid
|
||||
ExecStart=/usr/sbin/redis-server /etc/redis.conf
|
||||
PIDFile=/run/redis/redis.pid
|
||||
ExecStart=/usr/bin/redis-server /etc/redis.conf
|
||||
ExecStop=/usr/bin/redis-cli shutdown
|
||||
Restart=always
|
||||
User=redis
|
||||
Group=redis
|
||||
|
||||
|
|
156
redis.spec
156
redis.spec
|
@ -1,83 +1,123 @@
|
|||
# Check for status of man pages
|
||||
# http://code.google.com/p/redis/issues/detail?id=202
|
||||
|
||||
Summary: A persistent key-value database
|
||||
Name: redis
|
||||
Version: 2.8.13
|
||||
Release: 5
|
||||
License: BSD
|
||||
Version: 5.0.8
|
||||
Release: 1
|
||||
Summary: A persistent key-value database
|
||||
Group: Databases
|
||||
Url: http://redis.io/
|
||||
Source0: http://redis.googlecode.com/files/%{name}-%{version}.tar.gz
|
||||
Source1: %{name}.logrotate
|
||||
Source2: %{name}.tmpfiles
|
||||
Source3: %{name}.service
|
||||
Patch0: redis-2.8.3-shared.patch
|
||||
Patch1: redis-2.8.17-config.patch
|
||||
Patch2: CVE-2015-8080-Integer-wraparound-in-lua_struct.c-cau.patch
|
||||
BuildRequires: tcl >= 8.5
|
||||
BuildRequires: jemalloc-devel
|
||||
Requires(post): rpm-helper >= 0.24.1-1
|
||||
Requires(preun): rpm-helper >= 0.24.1-1
|
||||
License: BSD
|
||||
URL: http://redis.io/
|
||||
Patch0: http://pkgs.fedoraproject.org/cgit/rpms/redis.git/plain/0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch
|
||||
Patch1: http://pkgs.fedoraproject.org/cgit/rpms/redis.git/plain/0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch
|
||||
Patch2: redis-4.0.8-workaround-make-deadlock.patch
|
||||
Source0: http://download.redis.io/releases/%{name}-%{version}.tar.gz
|
||||
Source1: http://pkgs.fedoraproject.org/cgit/rpms/redis.git/plain/redis-limit-systemd
|
||||
Source2: http://pkgs.fedoraproject.org/cgit/rpms/redis.git/plain/redis-sentinel.service
|
||||
Source3: http://pkgs.fedoraproject.org/cgit/rpms/redis.git/plain/redis-shutdown
|
||||
Source4: http://pkgs.fedoraproject.org/cgit/rpms/redis.git/plain/redis.logrotate
|
||||
# Based on, but not identical to, Fedora's file
|
||||
Source5: redis.service
|
||||
Source6: http://pkgs.fedoraproject.org/cgit/rpms/redis.git/plain/redis.tmpfiles
|
||||
BuildRequires: pkgconfig(lua)
|
||||
BuildRequires: procps-ng
|
||||
BuildRequires: systemd
|
||||
BuildRequires: tcl
|
||||
Requires: /bin/awk
|
||||
Requires: logrotate
|
||||
BuildRequires: rpm-helper
|
||||
Requires(pre): rpm-helper >= 0.24.8-1
|
||||
Requires(postun):rpm-helper >= 0.24.8-1
|
||||
|
||||
%description
|
||||
Redis is an advanced key-value store.
|
||||
It is similar to memcached but the data set is not
|
||||
volatile, and values can be strings, exactly like in
|
||||
memcached, but also lists, sets, and ordered sets.
|
||||
It is similar to memcached but the data set is not volatile,
|
||||
and values can be strings, exactly like in memcached,
|
||||
but also lists, sets, and ordered sets.
|
||||
All this data types can be manipulated with atomic operations
|
||||
to push/pop elements, add/remove elements, perform server side
|
||||
union, intersection, difference between sets, and so forth.
|
||||
Redis supports different kind of sorting abilities.
|
||||
union, intersection, difference between sets, and so
|
||||
forth. Redis supports different kind of sorting abilities.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%apply_patches
|
||||
sed -i -e 's:AR=:AR?=:g' -e 's:RANLIB=:RANLIB?=:g' deps/lua/src/Makefile
|
||||
sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile
|
||||
%autosetup -p1 -n %{name}-%{version}%{?beta:-%{beta}}
|
||||
|
||||
rm -rf deps/jemalloc
|
||||
|
||||
# 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
|
||||
|
||||
# Configuration file changes
|
||||
sed -i -e 's|^logfile .*$|logfile /var/log/redis/redis.log|g' redis.conf
|
||||
sed -i -e 's|^logfile .*$|logfile /var/log/redis/sentinel.log|g' sentinel.conf
|
||||
sed -i -e 's|^dir .*$|dir /var/lib/redis|g' redis.conf
|
||||
|
||||
%build
|
||||
%make CC="%{__cc}" CFLAGS="%{optflags}" AR="%{__ar} rcu" JEMALLOC_SHARED=yes
|
||||
|
||||
%check
|
||||
# tclsh tests/test_helper.tcl
|
||||
%make \
|
||||
DEBUG="" \
|
||||
LDFLAGS="%{ldflags}" \
|
||||
CFLAGS+="%{optflags}" \
|
||||
LUA_LDFLAGS+="%{ldflags}" \
|
||||
MALLOC=libc \
|
||||
all
|
||||
|
||||
%install
|
||||
# Install binaries
|
||||
install -p -D -m 0755 src/%{name}-benchmark %{buildroot}%{_bindir}/%{name}-benchmark
|
||||
install -p -D -m 0755 src/%{name}-cli %{buildroot}%{_bindir}/%{name}-cli
|
||||
install -p -D -m 0755 src/%{name}-check-aof %{buildroot}%{_bindir}/%{name}-check-aof
|
||||
install -p -D -m 0755 src/%{name}-check-dump %{buildroot}%{_bindir}/%{name}-check-dump
|
||||
install -p -D -m 0755 src/%{name}-server %{buildroot}%{_sbindir}/%{name}-server
|
||||
# Install misc other
|
||||
install -p -D -m 0644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf
|
||||
install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||
install -p -D -m 0755 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/%{name}.conf
|
||||
install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}.service
|
||||
%make install INSTALL="install -p" PREFIX=%{buildroot}%{_prefix}
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_localstatedir}/lib/%{name}
|
||||
install -d -m 0755 %{buildroot}%{_localstatedir}/log/%{name}
|
||||
# Filesystem
|
||||
mkdir -p %{buildroot}%{_sharedstatedir}/%{name} \
|
||||
%{buildroot}%{_localstatedir}/log/%{name} \
|
||||
%{buildroot}%{_localstatedir}/run/%{name}
|
||||
|
||||
# Extras
|
||||
install -pDm 755 %{S:3} %{buildroot}%{_bindir}/%{name}-shutdown
|
||||
|
||||
# Logrotate file
|
||||
install -pDm 644 %{S:4} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||
|
||||
# Configuration files
|
||||
install -pDm 644 redis.conf %{buildroot}%{_sysconfdir}/redis.conf
|
||||
install -pDm 644 sentinel.conf %{buildroot}%{_sysconfdir}/redis-sentinel.conf
|
||||
|
||||
# Systemd unit files
|
||||
install -pDm 644 %{S:2} %{buildroot}%{_unitdir}/redis-sentinel.service
|
||||
install -pDm 644 %{S:5} %{buildroot}%{_unitdir}/redis.service
|
||||
|
||||
# tmpfiles setup
|
||||
install -pDm 644 %{S:6} %{buildroot}%{_tmpfilesdir}/%{name}.conf
|
||||
|
||||
# Systemd limits
|
||||
install -pDm 644 %{S:1} %{buildroot}%{_sysconfdir}/systemd/system/%{name}.service.d/limit.conf
|
||||
install -pDm 644 %{S:1} %{buildroot}%{_sysconfdir}/systemd/system/%{name}-sentinel.service.d/limit.conf
|
||||
|
||||
%check
|
||||
# Currently says all tests passed and then segfaults
|
||||
#make test
|
||||
|
||||
%pre
|
||||
%_pre_useradd redis %{_sharedstatedir}/redis /sbin/nologin
|
||||
%_pre_useradd %{name} %{_sharedstatedir}/%{name} /sbin/nologin
|
||||
|
||||
%post
|
||||
systemd-tmpfiles --create %{name}.conf
|
||||
%_post_service redis
|
||||
|
||||
%preun
|
||||
%_preun_service redis
|
||||
|
||||
%postun
|
||||
%_postun_userdel redis
|
||||
%postun
|
||||
%_postun_userdel %{name}
|
||||
|
||||
%files
|
||||
%doc 00-RELEASENOTES BUGS COPYING README
|
||||
%doc 00-RELEASENOTES BUGS COPYING
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||
%config(noreplace) %{_sysconfdir}/%{name}.conf
|
||||
%config(noreplace) %{_sysconfdir}/%{name}-sentinel.conf
|
||||
%dir %attr(0755, redis, root) %{_localstatedir}/lib/%{name}
|
||||
%dir %attr(0755, redis, root) %{_localstatedir}/log/%{name}
|
||||
%{_bindir}/%{name}-*
|
||||
%{_sbindir}/%{name}-*
|
||||
%{_prefix}/lib/tmpfiles.d/%{name}.conf
|
||||
%{_tmpfilesdir}/%{name}.conf
|
||||
%{_unitdir}/%{name}.service
|
||||
%{_unitdir}/%{name}-sentinel.service
|
||||
%dir %{_sysconfdir}/systemd/system/%{name}.service.d
|
||||
%{_sysconfdir}/systemd/system/%{name}.service.d/limit.conf
|
||||
%dir %{_sysconfdir}/systemd/system/%{name}-sentinel.service.d
|
||||
%{_sysconfdir}/systemd/system/%{name}-sentinel.service.d/limit.conf
|
||||
|
|
|
@ -1 +1 @@
|
|||
D /var/run/redis 0710 redis redis -
|
||||
d /run/redis 0710 redis redis -
|
||||
|
|
Loading…
Add table
Reference in a new issue