Compare commits
No commits in common. "c9-beta" and "c8-stream-6" have entirely different histories.
c9-beta
...
c8-stream-
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
|||||||
SOURCES/redis-6.2.7.tar.gz
|
SOURCES/redis-6.2.7.tar.gz
|
||||||
SOURCES/redis-doc-3fdb6df.tar.gz
|
SOURCES/redis-doc-8d4bf9b.tar.gz
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
b01ef3f117c9815dea41bf2609e489a03c3a5ab1 SOURCES/redis-6.2.7.tar.gz
|
b01ef3f117c9815dea41bf2609e489a03c3a5ab1 SOURCES/redis-6.2.7.tar.gz
|
||||||
1af2e3e6d240e8b87d21bbd4d81fef78e9af7090 SOURCES/redis-doc-3fdb6df.tar.gz
|
45ec7c3b4a034891252507febace7e25ee64b4d9 SOURCES/redis-doc-8d4bf9b.tar.gz
|
||||||
|
117
SOURCES/redis-config.patch
Normal file
117
SOURCES/redis-config.patch
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
Revert to 6.0.8 behavior to save configuration file
|
||||||
|
to fix "CONFIG REWRITE" when using /etc/redis.conf
|
||||||
|
as new behavior expect a writable directory
|
||||||
|
|
||||||
|
Revert: 90555566ed5cbd3e1c3df1293ba3bbf6098e34c3
|
||||||
|
|
||||||
|
See discussion about this breaking change in
|
||||||
|
https://github.com/redis/redis/issues/8051
|
||||||
|
|
||||||
|
diff -up ./src/config.c.rev ./src/config.c
|
||||||
|
--- ./src/config.c.rev 2022-05-09 14:48:31.118296748 +0200
|
||||||
|
+++ ./src/config.c 2022-05-09 14:48:41.571163767 +0200
|
||||||
|
@@ -1605,62 +1605,60 @@ void rewriteConfigRemoveOrphaned(struct
|
||||||
|
dictReleaseIterator(di);
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* This function replaces the old configuration file with the new content
|
||||||
|
- * in an atomic manner.
|
||||||
|
+/* This function overwrites the old configuration file with the new content.
|
||||||
|
+ *
|
||||||
|
+ * 1) The old file length is obtained.
|
||||||
|
+ * 2) If the new content is smaller, padding is added.
|
||||||
|
+ * 3) A single write(2) call is used to replace the content of the file.
|
||||||
|
+ * 4) Later the file is truncated to the length of the new content.
|
||||||
|
+ *
|
||||||
|
+ * This way we are sure the file is left in a consistent state even if the
|
||||||
|
+ * process is stopped between any of the four operations.
|
||||||
|
*
|
||||||
|
* The function returns 0 on success, otherwise -1 is returned and errno
|
||||||
|
- * is set accordingly. */
|
||||||
|
+ * set accordingly. */
|
||||||
|
int rewriteConfigOverwriteFile(char *configfile, sds content) {
|
||||||
|
- int fd = -1;
|
||||||
|
- int retval = -1;
|
||||||
|
- char tmp_conffile[PATH_MAX];
|
||||||
|
- const char *tmp_suffix = ".XXXXXX";
|
||||||
|
- size_t offset = 0;
|
||||||
|
- ssize_t written_bytes = 0;
|
||||||
|
-
|
||||||
|
- int tmp_path_len = snprintf(tmp_conffile, sizeof(tmp_conffile), "%s%s", configfile, tmp_suffix);
|
||||||
|
- if (tmp_path_len <= 0 || (unsigned int)tmp_path_len >= sizeof(tmp_conffile)) {
|
||||||
|
- serverLog(LL_WARNING, "Config file full path is too long");
|
||||||
|
- errno = ENAMETOOLONG;
|
||||||
|
- return retval;
|
||||||
|
+ int retval = 0;
|
||||||
|
+ int fd = open(configfile,O_RDWR|O_CREAT,0644);
|
||||||
|
+ int content_size = sdslen(content), padding = 0;
|
||||||
|
+ struct stat sb;
|
||||||
|
+ sds content_padded;
|
||||||
|
+
|
||||||
|
+ /* 1) Open the old file (or create a new one if it does not
|
||||||
|
+ * exist), get the size. */
|
||||||
|
+ if (fd == -1) return -1; /* errno set by open(). */
|
||||||
|
+ if (fstat(fd,&sb) == -1) {
|
||||||
|
+ close(fd);
|
||||||
|
+ return -1; /* errno set by fstat(). */
|
||||||
|
}
|
||||||
|
|
||||||
|
-#ifdef _GNU_SOURCE
|
||||||
|
- fd = mkostemp(tmp_conffile, O_CLOEXEC);
|
||||||
|
-#else
|
||||||
|
- /* There's a theoretical chance here to leak the FD if a module thread forks & execv in the middle */
|
||||||
|
- fd = mkstemp(tmp_conffile);
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
- if (fd == -1) {
|
||||||
|
- serverLog(LL_WARNING, "Could not create tmp config file (%s)", strerror(errno));
|
||||||
|
- return retval;
|
||||||
|
+ /* 2) Pad the content at least match the old file size. */
|
||||||
|
+ content_padded = sdsdup(content);
|
||||||
|
+ if (content_size < sb.st_size) {
|
||||||
|
+ /* If the old file was bigger, pad the content with
|
||||||
|
+ * a newline plus as many "#" chars as required. */
|
||||||
|
+ padding = sb.st_size - content_size;
|
||||||
|
+ content_padded = sdsgrowzero(content_padded,sb.st_size);
|
||||||
|
+ content_padded[content_size] = '\n';
|
||||||
|
+ memset(content_padded+content_size+1,'#',padding-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
- while (offset < sdslen(content)) {
|
||||||
|
- written_bytes = write(fd, content + offset, sdslen(content) - offset);
|
||||||
|
- if (written_bytes <= 0) {
|
||||||
|
- if (errno == EINTR) continue; /* FD is blocking, no other retryable errors */
|
||||||
|
- serverLog(LL_WARNING, "Failed after writing (%zd) bytes to tmp config file (%s)", offset, strerror(errno));
|
||||||
|
- goto cleanup;
|
||||||
|
- }
|
||||||
|
- offset+=written_bytes;
|
||||||
|
+ /* 3) Write the new content using a single write(2). */
|
||||||
|
+ if (write(fd,content_padded,strlen(content_padded)) == -1) {
|
||||||
|
+ retval = -1;
|
||||||
|
+ goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (fsync(fd))
|
||||||
|
- serverLog(LL_WARNING, "Could not sync tmp config file to disk (%s)", strerror(errno));
|
||||||
|
- else if (fchmod(fd, 0644 & ~server.umask) == -1)
|
||||||
|
- serverLog(LL_WARNING, "Could not chmod config file (%s)", strerror(errno));
|
||||||
|
- else if (rename(tmp_conffile, configfile) == -1)
|
||||||
|
- serverLog(LL_WARNING, "Could not rename tmp config file (%s)", strerror(errno));
|
||||||
|
- else {
|
||||||
|
- retval = 0;
|
||||||
|
- serverLog(LL_DEBUG, "Rewritten config file (%s) successfully", configfile);
|
||||||
|
- }
|
||||||
|
+ /* 4) Truncate the file to the right length if we used padding. */
|
||||||
|
+ if (padding) {
|
||||||
|
+ if (ftruncate(fd,content_size) == -1) {
|
||||||
|
+ /* Non critical error... */
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
+ sdsfree(content_padded);
|
||||||
|
close(fd);
|
||||||
|
- if (retval) unlink(tmp_conffile);
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
6
SOURCES/redis-limit-init
Normal file
6
SOURCES/redis-limit-init
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# If you need to change max open file limit
|
||||||
|
# for example, when you change maxclient in configuration
|
||||||
|
# you can change the value below
|
||||||
|
# see "man limits.conf" for information
|
||||||
|
redis soft nofile 10240
|
||||||
|
redis hard nofile 10240
|
94
SOURCES/redis-sentinel.init
Normal file
94
SOURCES/redis-sentinel.init
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# redis init file for starting up the redis-sentinel daemon
|
||||||
|
#
|
||||||
|
# chkconfig: - 21 79
|
||||||
|
# description: Starts and stops the redis-sentinel daemon.
|
||||||
|
#
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: redis-sentinel
|
||||||
|
# Required-Start: $local_fs $remote_fs $network
|
||||||
|
# Required-Stop: $local_fs $remote_fs $network
|
||||||
|
# Short-Description: start and stop Sentinel server
|
||||||
|
# Description: A persistent key-value database
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
# Source function library.
|
||||||
|
. /etc/rc.d/init.d/functions
|
||||||
|
|
||||||
|
name="redis-sentinel"
|
||||||
|
exec="/usr/bin/$name"
|
||||||
|
shut="/usr/libexec/redis-shutdown"
|
||||||
|
pidfile="/var/run/redis/sentinel.pid"
|
||||||
|
SENTINEL_CONFIG="/etc/redis-sentinel.conf"
|
||||||
|
|
||||||
|
[ -e /etc/sysconfig/redis-sentinel ] && . /etc/sysconfig/redis-sentinel
|
||||||
|
|
||||||
|
lockfile=/var/lock/subsys/redis
|
||||||
|
|
||||||
|
start() {
|
||||||
|
[ -f $SENTINEL_CONFIG ] || exit 6
|
||||||
|
[ -x $exec ] || exit 5
|
||||||
|
echo -n $"Starting $name: "
|
||||||
|
daemon --user ${REDIS_USER-redis} "$exec $SENTINEL_CONFIG --daemonize yes --pidfile $pidfile"
|
||||||
|
retval=$?
|
||||||
|
echo
|
||||||
|
[ $retval -eq 0 ] && touch $lockfile
|
||||||
|
return $retval
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
echo -n $"Stopping $name: "
|
||||||
|
[ -x $shut ] && $shut $name
|
||||||
|
retval=$?
|
||||||
|
if [ -f $pidfile ]
|
||||||
|
then
|
||||||
|
# shutdown haven't work, try old way
|
||||||
|
killproc -p $pidfile $name
|
||||||
|
retval=$?
|
||||||
|
else
|
||||||
|
success "$name shutdown"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
[ $retval -eq 0 ] && rm -f $lockfile
|
||||||
|
return $retval
|
||||||
|
}
|
||||||
|
|
||||||
|
restart() {
|
||||||
|
stop
|
||||||
|
start
|
||||||
|
}
|
||||||
|
|
||||||
|
rh_status() {
|
||||||
|
status -p $pidfile $name
|
||||||
|
}
|
||||||
|
|
||||||
|
rh_status_q() {
|
||||||
|
rh_status >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
rh_status_q && exit 0
|
||||||
|
$1
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
rh_status_q || exit 0
|
||||||
|
$1
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
$1
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
rh_status
|
||||||
|
;;
|
||||||
|
condrestart|try-restart)
|
||||||
|
rh_status_q || exit 0
|
||||||
|
restart
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart}"
|
||||||
|
exit 2
|
||||||
|
esac
|
||||||
|
exit $?
|
@ -1,12 +1,10 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Redis Sentinel
|
Description=Redis Sentinel
|
||||||
After=network.target
|
After=network.target
|
||||||
After=network-online.target
|
|
||||||
Wants=network-online.target
|
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=/usr/bin/redis-sentinel /etc/redis/sentinel.conf --daemonize no --supervised systemd
|
ExecStart=/usr/bin/redis-sentinel /etc/redis-sentinel.conf --daemonize no --supervised systemd
|
||||||
ExecStop=/usr/libexec/redis-shutdown sentinel
|
ExecStop=/usr/libexec/redis-shutdown redis-sentinel
|
||||||
Type=notify
|
Type=notify
|
||||||
User=redis
|
User=redis
|
||||||
Group=redis
|
Group=redis
|
||||||
|
@ -12,7 +12,7 @@ if [ -z "$SERVICE_NAME" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Get the proper config file based on service name
|
# Get the proper config file based on service name
|
||||||
CONFIG_FILE="/etc/redis/$SERVICE_NAME.conf"
|
CONFIG_FILE="/etc/$SERVICE_NAME.conf"
|
||||||
|
|
||||||
# Use awk to retrieve host, port from config file
|
# Use awk to retrieve host, port from config file
|
||||||
HOST=`awk '/^[[:blank:]]*bind/ { print $2 }' $CONFIG_FILE | tail -n1`
|
HOST=`awk '/^[[:blank:]]*bind/ { print $2 }' $CONFIG_FILE | tail -n1`
|
||||||
|
94
SOURCES/redis.init
Normal file
94
SOURCES/redis.init
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# redis init file for starting up the redis daemon
|
||||||
|
#
|
||||||
|
# chkconfig: - 20 80
|
||||||
|
# description: Starts and stops the redis daemon.
|
||||||
|
#
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: redis-server
|
||||||
|
# Required-Start: $local_fs $remote_fs $network
|
||||||
|
# Required-Stop: $local_fs $remote_fs $network
|
||||||
|
# Short-Description: start and stop Redis server
|
||||||
|
# Description: A persistent key-value database
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
# Source function library.
|
||||||
|
. /etc/rc.d/init.d/functions
|
||||||
|
|
||||||
|
name="redis-server"
|
||||||
|
exec="/usr/bin/$name"
|
||||||
|
shut="/usr/libexec/redis-shutdown"
|
||||||
|
pidfile="/var/run/redis/redis.pid"
|
||||||
|
REDIS_CONFIG="/etc/redis.conf"
|
||||||
|
|
||||||
|
[ -e /etc/sysconfig/redis ] && . /etc/sysconfig/redis
|
||||||
|
|
||||||
|
lockfile=/var/lock/subsys/redis
|
||||||
|
|
||||||
|
start() {
|
||||||
|
[ -f $REDIS_CONFIG ] || exit 6
|
||||||
|
[ -x $exec ] || exit 5
|
||||||
|
echo -n $"Starting $name: "
|
||||||
|
daemon --user ${REDIS_USER-redis} "$exec $REDIS_CONFIG --daemonize yes --pidfile $pidfile"
|
||||||
|
retval=$?
|
||||||
|
echo
|
||||||
|
[ $retval -eq 0 ] && touch $lockfile
|
||||||
|
return $retval
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
echo -n $"Stopping $name: "
|
||||||
|
[ -x $shut ] && $shut
|
||||||
|
retval=$?
|
||||||
|
if [ -f $pidfile ]
|
||||||
|
then
|
||||||
|
# shutdown haven't work, try old way
|
||||||
|
killproc -p $pidfile $name
|
||||||
|
retval=$?
|
||||||
|
else
|
||||||
|
success "$name shutdown"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
[ $retval -eq 0 ] && rm -f $lockfile
|
||||||
|
return $retval
|
||||||
|
}
|
||||||
|
|
||||||
|
restart() {
|
||||||
|
stop
|
||||||
|
start
|
||||||
|
}
|
||||||
|
|
||||||
|
rh_status() {
|
||||||
|
status -p $pidfile $name
|
||||||
|
}
|
||||||
|
|
||||||
|
rh_status_q() {
|
||||||
|
rh_status >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
rh_status_q && exit 0
|
||||||
|
$1
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
rh_status_q || exit 0
|
||||||
|
$1
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
$1
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
rh_status
|
||||||
|
;;
|
||||||
|
condrestart|try-restart)
|
||||||
|
rh_status_q || exit 0
|
||||||
|
restart
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart}"
|
||||||
|
exit 2
|
||||||
|
esac
|
||||||
|
exit $?
|
@ -1,11 +1,9 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Redis persistent key-value database
|
Description=Redis persistent key-value database
|
||||||
After=network.target
|
After=network.target
|
||||||
After=network-online.target
|
|
||||||
Wants=network-online.target
|
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf --daemonize no --supervised systemd
|
ExecStart=/usr/bin/redis-server /etc/redis.conf --daemonize no --supervised systemd
|
||||||
ExecStop=/usr/libexec/redis-shutdown
|
ExecStop=/usr/libexec/redis-shutdown
|
||||||
Type=notify
|
Type=notify
|
||||||
User=redis
|
User=redis
|
||||||
|
239
SPECS/redis.spec
239
SPECS/redis.spec
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Fedora spec file for redis
|
# RHEL / Fedora spec file for redis
|
||||||
#
|
#
|
||||||
# License: MIT
|
# License: MIT
|
||||||
# http://opensource.org/licenses/MIT
|
# http://opensource.org/licenses/MIT
|
||||||
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
# Commit IDs for the (unversioned) redis-doc repository
|
# Commit IDs for the (unversioned) redis-doc repository
|
||||||
# https://fedoraproject.org/wiki/Packaging:SourceURL "Commit Revision"
|
# https://fedoraproject.org/wiki/Packaging:SourceURL "Commit Revision"
|
||||||
%global doc_commit 3fdb6df44ecd5c4d99ea52a0133177f5ebc24805
|
%global doc_commit 8d4bf9bc476829a84a055c049be72634d6e938df
|
||||||
%global short_doc_commit %(c=%{doc_commit}; echo ${c:0:7})
|
%global short_doc_commit %(c=%{doc_commit}; echo ${c:0:7})
|
||||||
|
|
||||||
# %%{rpmmacrodir} not usable on EL-6
|
# %%{rpmmacrodir} not usable on EL-6
|
||||||
@ -30,10 +30,13 @@ Source0: https://download.redis.io/releases/%{name}-%{version}.tar.gz
|
|||||||
Source1: %{name}.logrotate
|
Source1: %{name}.logrotate
|
||||||
Source2: %{name}-sentinel.service
|
Source2: %{name}-sentinel.service
|
||||||
Source3: %{name}.service
|
Source3: %{name}.service
|
||||||
|
Source4: %{name}-sentinel.init
|
||||||
|
Source5: %{name}.init
|
||||||
Source6: %{name}-shutdown
|
Source6: %{name}-shutdown
|
||||||
Source7: %{name}-limit-systemd
|
Source7: %{name}-limit-systemd
|
||||||
|
Source8: %{name}-limit-init
|
||||||
Source9: macros.%{name}
|
Source9: macros.%{name}
|
||||||
Source10: https://github.com/%{name}/%{name}-doc/archive/%{doc_commit}/%{name}-doc-%{short_doc_commit}.tar.gz
|
Source10: https://github.com/antirez/%{name}-doc/archive/%{doc_commit}/%{name}-doc-%{short_doc_commit}.tar.gz
|
||||||
|
|
||||||
# To refresh patches:
|
# To refresh patches:
|
||||||
# tar xf redis-xxx.tar.gz && cd redis-xxx && git init && git add . && git commit -m "%%{version} baseline"
|
# tar xf redis-xxx.tar.gz && cd redis-xxx && git init && git add . && git commit -m "%%{version} baseline"
|
||||||
@ -41,10 +44,13 @@ Source10: https://github.com/%{name}/%{name}-doc/archive/%{doc_commit}/
|
|||||||
# Then refresh your patches
|
# Then refresh your patches
|
||||||
# git format-patch HEAD~<number of expected patches>
|
# git format-patch HEAD~<number of expected patches>
|
||||||
# Update configuration for Fedora
|
# Update configuration for Fedora
|
||||||
# https://github.com/redis/redis/pull/3491 - man pages
|
# https://github.com/antirez/redis/pull/3491 - man pages
|
||||||
Patch0001: 0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch
|
Patch0001: 0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch
|
||||||
|
# revert BC break
|
||||||
|
Patch0003: redis-config.patch
|
||||||
|
|
||||||
|
# Security patches
|
||||||
|
|
||||||
BuildRequires: make
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
%if %{with tests}
|
%if %{with tests}
|
||||||
BuildRequires: procps-ng
|
BuildRequires: procps-ng
|
||||||
@ -53,8 +59,6 @@ BuildRequires: tcl
|
|||||||
BuildRequires: pkgconfig(libsystemd)
|
BuildRequires: pkgconfig(libsystemd)
|
||||||
BuildRequires: systemd-devel
|
BuildRequires: systemd-devel
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
# redis-trib functionality migrated to redis-cli
|
|
||||||
Obsoletes: redis-trib < 5
|
|
||||||
# Required for redis-shutdown
|
# Required for redis-shutdown
|
||||||
Requires: /bin/awk
|
Requires: /bin/awk
|
||||||
Requires: logrotate
|
Requires: logrotate
|
||||||
@ -63,7 +67,7 @@ Requires(post): systemd
|
|||||||
Requires(preun): systemd
|
Requires(preun): systemd
|
||||||
Requires(postun): systemd
|
Requires(postun): systemd
|
||||||
# from deps/hiredis/hiredis.h
|
# from deps/hiredis/hiredis.h
|
||||||
Provides: bundled(hiredis) = 0.14.0
|
Provides: bundled(hiredis) = 1.0.0
|
||||||
# from deps/jemalloc/VERSION
|
# from deps/jemalloc/VERSION
|
||||||
Provides: bundled(jemalloc) = 5.1.0
|
Provides: bundled(jemalloc) = 5.1.0
|
||||||
# from deps/lua/src/lua.h
|
# from deps/lua/src/lua.h
|
||||||
@ -128,6 +132,7 @@ administration and development.
|
|||||||
%setup -q
|
%setup -q
|
||||||
mv ../%{name}-doc-%{doc_commit} doc
|
mv ../%{name}-doc-%{doc_commit} doc
|
||||||
%patch0001 -p1
|
%patch0001 -p1
|
||||||
|
%patch0003 -p1 -b .rev
|
||||||
|
|
||||||
mv deps/lua/COPYRIGHT COPYRIGHT-lua
|
mv deps/lua/COPYRIGHT COPYRIGHT-lua
|
||||||
mv deps/jemalloc/COPYING COPYING-jemalloc
|
mv deps/jemalloc/COPYING COPYING-jemalloc
|
||||||
@ -149,7 +154,7 @@ fi
|
|||||||
%global make_flags DEBUG="" V="echo" LDFLAGS="%{?__global_ldflags}" CFLAGS+="%{optflags} -fPIC" INSTALL="install -p" PREFIX=%{buildroot}%{_prefix} BUILD_WITH_SYSTEMD=yes BUILD_TLS=yes
|
%global make_flags DEBUG="" V="echo" LDFLAGS="%{?__global_ldflags}" CFLAGS+="%{optflags} -fPIC" INSTALL="install -p" PREFIX=%{buildroot}%{_prefix} BUILD_WITH_SYSTEMD=yes BUILD_TLS=yes
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%make_build %{make_flags} all
|
make %{?_smp_mflags} %{make_flags} all
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make %{make_flags} install
|
make %{make_flags} install
|
||||||
@ -164,8 +169,8 @@ install -d %{buildroot}%{redis_modules_dir}
|
|||||||
install -pDm644 %{S:1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
install -pDm644 %{S:1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||||
|
|
||||||
# Install configuration files.
|
# Install configuration files.
|
||||||
install -pDm640 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
|
install -pDm640 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf
|
||||||
install -pDm640 sentinel.conf %{buildroot}%{_sysconfdir}/%{name}/sentinel.conf
|
install -pDm640 sentinel.conf %{buildroot}%{_sysconfdir}/%{name}-sentinel.conf
|
||||||
|
|
||||||
# Install systemd unit files.
|
# Install systemd unit files.
|
||||||
mkdir -p %{buildroot}%{_unitdir}
|
mkdir -p %{buildroot}%{_unitdir}
|
||||||
@ -209,7 +214,7 @@ install -pDm644 %{S:9} %{buildroot}%{macrosdir}/macros.%{name}
|
|||||||
|
|
||||||
%check
|
%check
|
||||||
%if %{with tests}
|
%if %{with tests}
|
||||||
# https://github.com/redis/redis/issues/1417 (for "taskset -c 1")
|
# https://github.com/antirez/redis/issues/1417 (for "taskset -c 1")
|
||||||
taskset -c 1 make %{make_flags} test
|
taskset -c 1 make %{make_flags} test
|
||||||
make %{make_flags} test-sentinel
|
make %{make_flags} test-sentinel
|
||||||
%endif
|
%endif
|
||||||
@ -223,25 +228,6 @@ useradd -r -g %{name} -d %{_sharedstatedir}/%{name} -s /sbin/nologin \
|
|||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
%post
|
%post
|
||||||
if [ -f %{_sysconfdir}/%{name}.conf -a ! -L %{_sysconfdir}/%{name}.conf ]; then
|
|
||||||
if [ -f %{_sysconfdir}/%{name}/%{name}.conf.rpmnew ]; then
|
|
||||||
rm %{_sysconfdir}/%{name}/%{name}.conf.rpmnew
|
|
||||||
fi
|
|
||||||
if [ -f %{_sysconfdir}/%{name}/%{name}.conf ]; then
|
|
||||||
mv %{_sysconfdir}/%{name}/%{name}.conf %{_sysconfdir}/%{name}/%{name}.conf.rpmnew
|
|
||||||
fi
|
|
||||||
mv %{_sysconfdir}/%{name}.conf %{_sysconfdir}/%{name}/%{name}.conf
|
|
||||||
echo -e "\nWarning: %{name} configuration is now in %{_sysconfdir}/%{name} directory\n"
|
|
||||||
fi
|
|
||||||
if [ -f %{_sysconfdir}/%{name}-sentinel.conf -a ! -L %{_sysconfdir}/%{name}-sentinel.conf ]; then
|
|
||||||
if [ -f %{_sysconfdir}/%{name}/sentinel.conf.rpmnew ]; then
|
|
||||||
rm %{_sysconfdir}/%{name}/sentinel.conf.rpmnew
|
|
||||||
fi
|
|
||||||
if [ -f %{_sysconfdir}/%{name}/sentinel.conf ]; then
|
|
||||||
mv %{_sysconfdir}/%{name}/sentinel.conf %{_sysconfdir}/%{name}/sentinel.conf.rpmnew
|
|
||||||
fi
|
|
||||||
mv %{_sysconfdir}/%{name}-sentinel.conf %{_sysconfdir}/%{name}/sentinel.conf
|
|
||||||
fi
|
|
||||||
%systemd_post %{name}.service
|
%systemd_post %{name}.service
|
||||||
%systemd_post %{name}-sentinel.service
|
%systemd_post %{name}-sentinel.service
|
||||||
|
|
||||||
@ -260,9 +246,8 @@ fi
|
|||||||
%license COPYING-jemalloc
|
%license COPYING-jemalloc
|
||||||
%license COPYING-hiredis
|
%license COPYING-hiredis
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||||
%attr(0750, redis, root) %dir %{_sysconfdir}/%{name}
|
%attr(0640, redis, root) %config(noreplace) %{_sysconfdir}/%{name}.conf
|
||||||
%attr(0640, redis, root) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
|
%attr(0640, redis, root) %config(noreplace) %{_sysconfdir}/%{name}-sentinel.conf
|
||||||
%attr(0640, redis, root) %config(noreplace) %{_sysconfdir}/%{name}/sentinel.conf
|
|
||||||
%dir %attr(0750, redis, redis) %{_libdir}/%{name}
|
%dir %attr(0750, redis, redis) %{_libdir}/%{name}
|
||||||
%dir %attr(0750, redis, redis) %{redis_modules_dir}
|
%dir %attr(0750, redis, redis) %{redis_modules_dir}
|
||||||
%dir %attr(0750, redis, redis) %{_sharedstatedir}/%{name}
|
%dir %attr(0750, redis, redis) %{_sharedstatedir}/%{name}
|
||||||
@ -289,168 +274,68 @@ fi
|
|||||||
%{macrosdir}/*
|
%{macrosdir}/*
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
# specific for documentation (CC-BY-SA)
|
# main package is not required
|
||||||
%license doc/LICENSE
|
%license COPYING
|
||||||
%docdir %{_docdir}/%{name}
|
%docdir %{_docdir}/%{name}
|
||||||
%{_docdir}/%{name}
|
%{_docdir}/%{name}
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Tue May 10 2022 Remi Collet <rcollet@redhat.com> - 6.2.7-1
|
* Mon May 9 2022 Remi Collet <rcollet@redhat.com> - 6.2.7-1
|
||||||
- rebase to 6.2.7 #2083151
|
- rebase to 6.2.7 #1999873
|
||||||
|
|
||||||
* Wed Nov 3 2021 Remi Collet <remi@remirepo.net> - 6.2.6-1
|
* Mon Oct 11 2021 Remi Collet <rcollet@redhat.com> - 6.0.9-5
|
||||||
- rebase to 6.2.6 #2013992
|
- fix denial of service via Redis Standard Protocol (RESP) request
|
||||||
- refresh documentation
|
CVE-2021-32675
|
||||||
- use proper license file for documentation
|
|
||||||
|
|
||||||
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 6.2.3-3
|
* Fri Oct 8 2021 Remi Collet <rcollet@redhat.com> - 6.0.9-4
|
||||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
- fix lua scripts can overflow the heap-based Lua stack
|
||||||
Related: rhbz#1991688
|
CVE-2021-32626
|
||||||
|
- fix integer overflow issue with Streams
|
||||||
|
CVE-2021-32627
|
||||||
|
- fix integer overflow bug in the ziplist data structure
|
||||||
|
CVE-2021-32628
|
||||||
|
- fix integer overflow issue with intsets
|
||||||
|
CVE-2021-32687
|
||||||
|
- fix integer overflow issue with strings
|
||||||
|
CVE-2021-41099
|
||||||
|
|
||||||
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 6.2.3-2
|
* Wed May 12 2021 Remi Collet <rcollet@redhat.com> - 6.0.9-3
|
||||||
- Rebuilt for RHEL 9 BETA for openssl 3.0
|
- fix integer overflow via STRALGO LCS command
|
||||||
Related: rhbz#1971065
|
CVE-2021-29477
|
||||||
|
|
||||||
* Tue May 4 2021 Remi Collet <remi@remirepo.net> - 6.2.3-1
|
* Tue Nov 24 2020 Remi Collet <rcollet@redhat.com> - 6.0.9-2
|
||||||
- Upstream 6.2.3 release
|
- revert "simplify config rewrite file" and keep
|
||||||
|
configuration in /etc
|
||||||
|
|
||||||
* Tue Apr 20 2021 Remi Collet <remi@remirepo.net> - 6.2.2-1
|
* Thu Oct 29 2020 Remi Collet <rcollet@redhat.com> - 6.0.9-1
|
||||||
- Upstream 6.2.2 release
|
- update to 6.0.9
|
||||||
|
|
||||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 6.2.1-2
|
* Tue Oct 20 2020 Remi Collet <rcollet@redhat.com> - 6.0.8-1
|
||||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
- update to 6.0.8 for new stream #1862063
|
||||||
|
|
||||||
* Thu Apr 01 2021 Nathan Scott <nathans@redhat.com> - 6.2.1-1
|
* Thu Jul 11 2019 Remi Collet <rcollet@redhat.com> - 5.0.3-2
|
||||||
- Upstream 6.2.1 release
|
- fix Heap buffer overflow in HyperLogLog triggered by malicious client
|
||||||
- Merged make-macros spec change from Tom Stellard
|
CVE-2019-10192
|
||||||
|
- fix Stack buffer overflow in HyperLogLog triggered by malicious client
|
||||||
|
CVE-2019-10193
|
||||||
|
|
||||||
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.2.0-2
|
* Thu Dec 13 2018 Remi Collet <rcollet@redhat.com> - 5.0.3-1
|
||||||
- Rebuilt for updated systemd-rpm-macros
|
- update to 5.0.3
|
||||||
See https://pagure.io/fesco/issue/2583.
|
|
||||||
|
|
||||||
* Mon Mar 01 2021 Nathan Scott <nathans@redhat.com> - 6.2.0-1
|
|
||||||
- Upstream 6.2.0 release (RHBZ #1915463).
|
|
||||||
- drop patch merged upstream.
|
|
||||||
|
|
||||||
* Wed Feb 24 2021 Nathan Scott <nathans@redhat.com> - 6.0.11-1
|
|
||||||
- Upstream 6.0.11 release.
|
|
||||||
|
|
||||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.10-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Jan 13 2021 Remi Collet <remi@remirepo.net> - 6.0.10-1
|
|
||||||
- Upstream 6.0.10 release.
|
|
||||||
|
|
||||||
* Tue Nov 24 2020 Remi Collet <remi@remirepo.net> - 6.0.9-3
|
|
||||||
- fix check for regular file, not symlink
|
|
||||||
|
|
||||||
* Mon Nov 23 2020 Remi Collet <remi@remirepo.net> - 6.0.9-2
|
|
||||||
- move configuration in /etc/redis per upstream recommendation
|
|
||||||
see https://github.com/redis/redis/issues/8051
|
|
||||||
|
|
||||||
* Tue Oct 27 2020 Remi Collet <remi@remirepo.net> - 6.0.9-1
|
|
||||||
- Upstream 6.0.9 release.
|
|
||||||
|
|
||||||
* Tue Oct 20 2020 Remi Collet <remi@remirepo.net> - 6.0.8-2
|
|
||||||
- add missing LICENSE files in main package
|
|
||||||
|
|
||||||
* Thu Sep 10 2020 Remi Collet <remi@remirepo.net> - 6.0.8-1
|
|
||||||
- Upstream 6.0.8 release.
|
|
||||||
|
|
||||||
* Tue Sep 1 2020 Remi Collet <remi@remirepo.net> - 6.0.7-1
|
|
||||||
- Upstream 6.0.7 release.
|
|
||||||
- drop patch merged upstream
|
|
||||||
|
|
||||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.6-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jul 21 2020 Remi Collet <rcollet@redhat.com> - 6.0.6-1
|
|
||||||
- Upstream 6.0.6 release.
|
|
||||||
- drop patch merged upstream
|
|
||||||
- open https://github.com/redis/redis/pull/7543 fix deprecated tail syntax
|
|
||||||
|
|
||||||
* Wed Jun 10 2020 Nathan Scott <nathans@redhat.com> - 6.0.5-1
|
|
||||||
- Upstream 6.0.5 release.
|
|
||||||
|
|
||||||
* Thu May 28 2020 Remi Collet <remi@remirepo.net> - 6.0.4-3
|
|
||||||
- Add comment for TimeoutStartSec and TimeoutStopSec in limit.conf
|
|
||||||
- Fix missing notification to systemd for sentinel
|
|
||||||
patch from https://github.com/redis/redis/pull/7168
|
|
||||||
- Upstream 6.0.4 release.
|
|
||||||
|
|
||||||
* Mon May 18 2020 Nathan Scott <nathans@redhat.com> - 6.0.3-1
|
|
||||||
- Upstream 6.0.3 release.
|
|
||||||
|
|
||||||
* Wed May 6 2020 Remi Collet <rcollet@redhat.com> - 6.0.1-1
|
|
||||||
- Upstream 6.0.1 release.
|
|
||||||
|
|
||||||
* Fri May 01 2020 Nathan Scott <nathans@redhat.com> - 6.0.0-1
|
|
||||||
- Upstream 6.0.0 release.
|
|
||||||
|
|
||||||
* Fri Mar 13 2020 Nathan Scott <nathans@redhat.com> - 5.0.8-1
|
|
||||||
- Upstream 5.0.8 release.
|
|
||||||
|
|
||||||
* Wed Feb 12 2020 Nathan Scott <nathans@redhat.com> - 5.0.7-3
|
|
||||||
- Patch extern SDS_NOINIT definition for gcc 10 (RHBZ #1799969)
|
|
||||||
|
|
||||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.7-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Nov 19 2019 Carl George <carl@george.computer> - 5.0.7-1
|
|
||||||
- Latest upstream
|
|
||||||
|
|
||||||
* Thu Sep 26 2019 Nathan Scott <nathans@redhat.com> - 5.0.6-1
|
|
||||||
- Upstream 5.0.6 release and redis-doc updates.
|
|
||||||
|
|
||||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.5-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jul 15 2019 Nathan Scott <nathans@redhat.com> - 5.0.5-2
|
|
||||||
- Use the (modified) bundled jemalloc for defrag (RHBZ #1725852)
|
|
||||||
|
|
||||||
* Thu May 16 2019 Nathan Scott <nathans@redhat.com> - 5.0.5-1
|
|
||||||
- Upstream 5.0.5 release and redis-doc updates.
|
|
||||||
|
|
||||||
* Sat May 11 2019 Nathan Scott <nathans@redhat.com> - 5.0.4-2
|
|
||||||
- Obsolete redis-trib - functionality now in redis-cli(1)
|
|
||||||
- Remove old chkconfig support, all systemd platforms now
|
|
||||||
|
|
||||||
* Tue Mar 19 2019 Nathan Scott <nathans@redhat.com> - 5.0.4-1
|
|
||||||
- Upstream 5.0.4 release and redis-doc updates.
|
|
||||||
- Fix sentinel.conf logfile line addition.
|
|
||||||
|
|
||||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.3-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Dec 13 2018 Nathan Scott <nathans@redhat.com> - 5.0.3-1
|
|
||||||
- Upstream 5.0.3 release and redis-doc updates.
|
|
||||||
|
|
||||||
* Fri Nov 23 2018 Nathan Scott <nathans@redhat.com> - 5.0.2-1
|
|
||||||
- Upstream 5.0.2 release and redis-doc updates.
|
|
||||||
|
|
||||||
* Thu Nov 08 2018 Nathan Scott <nathans@redhat.com> - 5.0.1-1
|
|
||||||
- Upstream 5.0.1 release.
|
|
||||||
|
|
||||||
* Thu Oct 18 2018 Nathan Scott <nathans@redhat.com> - 5.0.0-1
|
|
||||||
- Update systemd service files for network-online requirement
|
|
||||||
- Upstream 5.0.0 release.
|
|
||||||
|
|
||||||
* Thu Aug 09 2018 Nathan Scott <nathans@redhat.com> - 4.0.11-1
|
|
||||||
- Drop the pandoc build dependency, install only markdown.
|
|
||||||
- Upstream 4.0.11 release.
|
|
||||||
|
|
||||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.10-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jun 25 2018 Remi Collet <rcollet@redhat.com> - 4.0.10-2
|
* Mon Jun 25 2018 Remi Collet <rcollet@redhat.com> - 4.0.10-2
|
||||||
|
- drop build dependency on pandoc
|
||||||
|
- drop dependency on jemalloc #1591762
|
||||||
- fix License (BSD and MIT)
|
- fix License (BSD and MIT)
|
||||||
- add bundled libraries licences
|
- add bundled libraries licences
|
||||||
- add information about bundled lzf
|
- cleanup conditions from spec file
|
||||||
|
|
||||||
* Thu Jun 14 2018 Nathan Scott <nathans@redhat.com> - 4.0.10-1
|
* Thu Jun 14 2018 Nathan Scott <nathans@redhat.com> - 4.0.10-1
|
||||||
- Upstream 4.0.10 release.
|
- Upstream 4.0.10 release.
|
||||||
|
|
||||||
|
* Mon May 21 2018 Joe Orton <jorton@redhat.com> - 4.0.9-1.2
|
||||||
|
- rebuild (#1571197)
|
||||||
|
|
||||||
* Tue Mar 27 2018 Nathan Scott <nathans@redhat.com> - 4.0.9-1
|
* Tue Mar 27 2018 Nathan Scott <nathans@redhat.com> - 4.0.9-1
|
||||||
- Upstream 4.0.9 release.
|
- Upstream 4.0.9 release.
|
||||||
|
|
||||||
@ -540,11 +425,11 @@ fi
|
|||||||
|
|
||||||
* Wed Sep 14 2016 Remi Collet <remi@fedoraproject.org> - 3.2.3-2
|
* Wed Sep 14 2016 Remi Collet <remi@fedoraproject.org> - 3.2.3-2
|
||||||
- add missing man pages #1374577
|
- add missing man pages #1374577
|
||||||
using patch from https://github.com/redis/redis/pull/3491
|
using patch from https://github.com/antirez/redis/pull/3491
|
||||||
- data and configuration should not be publicly readable #1374700
|
- data and configuration should not be publicly readable #1374700
|
||||||
- remove /var/run/redis with systemd #1374728
|
- remove /var/run/redis with systemd #1374728
|
||||||
- provide redis-check-rdb as a symlink to redis-server #1374736
|
- provide redis-check-rdb as a symlink to redis-server #1374736
|
||||||
using patch from https://github.com/redis/redis/pull/3494
|
using patch from https://github.com/antirez/redis/pull/3494
|
||||||
- move redis-shutdown to libexec
|
- move redis-shutdown to libexec
|
||||||
|
|
||||||
* Thu Aug 4 2016 Haïkel Guémar <hguemar@fedoraproject.org> - 3.2.3-1
|
* Thu Aug 4 2016 Haïkel Guémar <hguemar@fedoraproject.org> - 3.2.3-1
|
||||||
|
Loading…
Reference in New Issue
Block a user