From f245b6efaf629d629d92fdace3612086175c0998 Mon Sep 17 00:00:00 2001 From: Alexander Stefanov Date: Wed, 8 Apr 2020 21:32:55 +0000 Subject: [PATCH] 5.0.8 --- .abf.yml | 5 +- ...or-redis-cli-redis-benchmark-redis-c.patch | 652 ++++++++++++++++++ ...eck-rdb-as-a-symlink-instead-of-dupl.patch | 15 + ...teger-wraparound-in-lua_struct.c-cau.patch | 22 - redis-2.8.3-shared.patch | 30 - ... redis-4.0.5-openmandriva-redis.conf.patch | 42 +- redis-4.0.8-workaround-make-deadlock.patch | 13 + redis-limit-systemd | 7 + redis-sentinel.service | 13 + redis-shutdown | 35 + redis.service | 7 +- redis.spec | 156 +++-- redis.tmpfiles | 2 +- 13 files changed, 856 insertions(+), 143 deletions(-) create mode 100644 0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch create mode 100644 0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch delete mode 100644 CVE-2015-8080-Integer-wraparound-in-lua_struct.c-cau.patch delete mode 100644 redis-2.8.3-shared.patch rename redis-2.8.17-config.patch => redis-4.0.5-openmandriva-redis.conf.patch (50%) create mode 100644 redis-4.0.8-workaround-make-deadlock.patch create mode 100644 redis-limit-systemd create mode 100644 redis-sentinel.service create mode 100644 redis-shutdown diff --git a/.abf.yml b/.abf.yml index 0ad9657..5278b06 100644 --- a/.abf.yml +++ b/.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 diff --git a/0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch b/0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch new file mode 100644 index 0000000..ab62c0c --- /dev/null +++ b/0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch @@ -0,0 +1,652 @@ +From c7958ad1c0d615b81276ec2d4dbc1bf6a67dcc4d Mon Sep 17 00:00:00 2001 +From: Remi Collet +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 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 + diff --git a/0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch b/0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch new file mode 100644 index 0000000..b44690f --- /dev/null +++ b/0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch @@ -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)} diff --git a/CVE-2015-8080-Integer-wraparound-in-lua_struct.c-cau.patch b/CVE-2015-8080-Integer-wraparound-in-lua_struct.c-cau.patch deleted file mode 100644 index e98f713..0000000 --- a/CVE-2015-8080-Integer-wraparound-in-lua_struct.c-cau.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Chris Lamb -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; - } - } diff --git a/redis-2.8.3-shared.patch b/redis-2.8.3-shared.patch deleted file mode 100644 index 3a955dd..0000000 --- a/redis-2.8.3-shared.patch +++ /dev/null @@ -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) diff --git a/redis-2.8.17-config.patch b/redis-4.0.5-openmandriva-redis.conf.patch similarity index 50% rename from redis-2.8.17-config.patch rename to redis-4.0.5-openmandriva-redis.conf.patch index c9f6b2a..c318d67 100644 --- a/redis-2.8.17-config.patch +++ b/redis-4.0.5-openmandriva-redis.conf.patch @@ -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 -+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: diff --git a/redis-4.0.8-workaround-make-deadlock.patch b/redis-4.0.8-workaround-make-deadlock.patch new file mode 100644 index 0000000..36611fd --- /dev/null +++ b/redis-4.0.8-workaround-make-deadlock.patch @@ -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 diff --git a/redis-limit-systemd b/redis-limit-systemd new file mode 100644 index 0000000..8003c2f --- /dev/null +++ b/redis-limit-systemd @@ -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 diff --git a/redis-sentinel.service b/redis-sentinel.service new file mode 100644 index 0000000..2ec86ae --- /dev/null +++ b/redis-sentinel.service @@ -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 + diff --git a/redis-shutdown b/redis-shutdown new file mode 100644 index 0000000..405083f --- /dev/null +++ b/redis-shutdown @@ -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 diff --git a/redis.service b/redis.service index f1322f6..fdee434 100644 --- a/redis.service +++ b/redis.service @@ -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 diff --git a/redis.spec b/redis.spec index 5669467..6983311 100644 --- a/redis.spec +++ b/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 diff --git a/redis.tmpfiles b/redis.tmpfiles index d1f837f..6d98a31 100644 --- a/redis.tmpfiles +++ b/redis.tmpfiles @@ -1 +1 @@ -D /var/run/redis 0710 redis redis - +d /run/redis 0710 redis redis -