summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--redis-sentinel.service1
-rw-r--r--redis-shutdown40
-rw-r--r--redis.service1
-rw-r--r--redis.spec124
4 files changed, 89 insertions, 77 deletions
diff --git a/redis-sentinel.service b/redis-sentinel.service
index a055cf5..0bcc990 100644
--- a/redis-sentinel.service
+++ b/redis-sentinel.service
@@ -6,7 +6,6 @@ Wants=network-online.target
[Service]
ExecStart=/usr/bin/redis-sentinel /etc/redis/sentinel.conf --daemonize no --supervised systemd
-ExecStop=/usr/libexec/redis-shutdown sentinel
Type=notify
User=redis
Group=redis
diff --git a/redis-shutdown b/redis-shutdown
deleted file mode 100644
index 1a4335a..0000000
--- a/redis-shutdown
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/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/redis/$SERVICE_NAME.conf"
-
-# Use awk to retrieve host, port from config file
-HOST=`awk '/^[[:blank:]]*bind/ { print $2 }' $CONFIG_FILE | tail -n1`
-PORT=`awk '/^[[:blank:]]*port/ { print $2 }' $CONFIG_FILE | tail -n1`
-PASS=`awk '/^[[:blank:]]*requirepass/ { print $2 }' $CONFIG_FILE | tail -n1`
-SOCK=`awk '/^[[:blank:]]*unixsocket\s/ { print $2 }' $CONFIG_FILE | tail -n1`
-
-# Just in case, use default host, port
-HOST=${HOST:-127.0.0.1}
-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
-if [ -e "$SOCK" ] ; then
- $REDIS_CLI -s $SOCK $ADDITIONAL_PARAMS shutdown
-else
- $REDIS_CLI -h $HOST -p $PORT $ADDITIONAL_PARAMS shutdown
-fi
diff --git a/redis.service b/redis.service
index 4e59720..a577c83 100644
--- a/redis.service
+++ b/redis.service
@@ -6,7 +6,6 @@ Wants=network-online.target
[Service]
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf --daemonize no --supervised systemd
-ExecStop=/usr/libexec/redis-shutdown
Type=notify
User=redis
Group=redis
diff --git a/redis.spec b/redis.spec
index 045af23..1ab69f5 100644
--- a/redis.spec
+++ b/redis.spec
@@ -24,18 +24,15 @@
# Tests fail in mock, not in local build.
%bcond_with tests
-# Pre-version are only available in github
-%global upstream_ver 7.0.7
-#global upstream_pre RC3
-%global gh_commit 5921ba4cdef2761bfed34b982368f1fe077d03e9
-%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
-%global gh_owner redis
-%global gh_project redis
+%global upstream_ver 7.2.4
+#global upstream_pre rc3
# Commit IDs for the (unversioned) redis-doc repository
# https://fedoraproject.org/wiki/Packaging:SourceURL "Commit Revision"
# https://github.com/redis/redis-doc/commits/master
-%global doc_commit 5921ba4cdef2761bfed34b982368f1fe077d03e9
+%global gh_owner redis
+%global gh_project redis
+%global doc_commit 8663f15b294e87f41b7d42d05fee1ec2f1714443
%global short_doc_commit %(c=%{doc_commit}; echo ${c:0:7})
# %%{_rpmmacrodir} not usable on EL-6 - EL-7 (without epel-rpms-macros)
@@ -45,18 +42,16 @@ Name: redis
Version: %{upstream_ver}%{?upstream_pre:~%{upstream_pre}}
Release: 1%{?dist}
Summary: A persistent key-value database
-Group: Applications/Databases
-License: BSD
+# redis, hiredis: BSD-3-Clause
+# hdrhistogram, jemalloc, lzf, linenoise: BSD-2-Clause
+# lua: MIT
+# fpconv: BSL-1.0
+License: BSD-3-Clause AND BSD-2-Clause AND MIT AND BSL-1.0
URL: http://redis.io
-%if 0%{?upstream_pre:1}
-Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{upstream_ver}%{upstream_pre}-%{gh_short}.tar.gz
-%else
-Source0: https://download.redis.io/releases/%{name}-%{version}.tar.gz
-%endif
+Source0: https://download.redis.io/releases/%{name}-%{upstream_ver}%{?upstream_pre:-%{upstream_pre}}.tar.gz
Source1: %{name}.logrotate
Source2: %{name}-sentinel.service
Source3: %{name}.service
-Source6: %{name}-shutdown
Source7: %{name}-limit-systemd
Source9: macros.%{name}
Source10: https://github.com/%{gh_owner}/%{gh_project}-doc/archive/%{doc_commit}/%{name}-doc-%{short_doc_commit}.tar.gz
@@ -80,7 +75,7 @@ BuildRequires: devtoolset-8-libatomic-devel
BuildRequires: jemalloc-devel
%else
# from deps/jemalloc/VERSION
-Provides: bundled(jemalloc) = 5.2.1
+Provides: bundled(jemalloc) = 5.3.0
%endif
%if %{with tests}
BuildRequires: procps-ng
@@ -94,15 +89,13 @@ BuildRequires: openssl-devel >= 1.0.2
Obsoletes: redis-trib < %{version}-%{release}
%endif
-# Required for redis-shutdown
-Requires: /bin/awk
Requires: logrotate
Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
# from deps/hiredis/hiredis.h
-Provides: bundled(hiredis) = 1.0.0
+Provides: bundled(hiredis) = 1.0.3
# from deps/lua/src/lua.h
Provides: bundled(lua-libs) = 5.1.5
# from deps/linenoise/linenoise.h
@@ -110,6 +103,8 @@ Provides: bundled(linenoise) = 1.0
Provides: bundled(lzf)
# from deps/hdr_histogram/README.md
Provides: bundled(hdr_histogram) = 0.11.0
+# no version
+Provides: bundled(fpconv)
%global redis_modules_abi 1
%global redis_modules_dir %{_libdir}/%{name}/modules
@@ -151,7 +146,7 @@ API documentation is available in the redis-doc package.
%package doc
Summary: Documentation for Redis including man pages
-License: CC-BY-SA
+License: CC-BY-SA-4.0
BuildArch: noarch
# http://fedoraproject.org/wiki/Packaging:Conflicts "Splitting Packages"
@@ -174,13 +169,9 @@ and removal, status checks, resharding, rebalancing, and other operations.
%endif
%prep
-%if 0%{?upstream_pre:1}
-%setup -q -n %{gh_project}-%{gh_commit} -b 10
-%else
-%setup -q -b 10
-%endif
+%setup -q -n %{name}-%{upstream_ver}%{?upstream_pre:-%{upstream_pre}} -b 10
mv ../%{name}-doc-%{doc_commit} doc
-%patch0001 -p1
+%patch -P0001 -p1
%if %{with jemalloc}
rm -frv deps/jemalloc
@@ -191,16 +182,26 @@ sed -i -e 's|-I../deps/jemalloc.*|-DJEMALLOC_NO_DEMANGLE -I/usr/include/jemalloc
%else
mv deps/jemalloc/COPYING COPYING-jemalloc
%endif
-mv deps/lua/COPYRIGHT COPYRIGHT-lua
-mv deps/hiredis/COPYING COPYING-hiredis
+mv deps/lua/COPYRIGHT COPYRIGHT-lua
+mv deps/hiredis/COPYING COPYING-hiredis
mv deps/hdr_histogram/LICENSE.txt LICENSE-hdrhistogram
mv deps/hdr_histogram/COPYING.txt COPYING-hdrhistogram
+mv deps/fpconv/LICENSE.txt LICENSE-fpconv
# 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
+# See https://bugzilla.redhat.com/2240293
+# See https://src.fedoraproject.org/rpms/jemalloc/blob/rawhide/f/jemalloc.spec#_34
+%ifarch %ix86 %arm x86_64 s390x
+sed -e 's/--with-lg-quantum/--with-lg-page=12 --with-lg-quantum/' -i deps/Makefile
+%endif
+%ifarch ppc64 ppc64le aarch64
+sed -e 's/--with-lg-quantum/--with-lg-page=16 --with-lg-quantum/' -i deps/Makefile
+%endif
+
# Module API version safety check
api=`sed -n -e 's/#define REDISMODULE_APIVER_[0-9][0-9]* //p' src/redismodule.h`
if test "$api" != "%{redis_modules_abi}"; then
@@ -258,9 +259,6 @@ install -p -D -m 644 %{S:7} %{buildroot}%{_sysconfdir}/systemd/system/%{name}-se
# Fix non-standard-executable-perm error.
chmod 755 %{buildroot}%{_bindir}/%{name}-*
-# Install redis-shutdown
-install -pDm755 %{S:6} %{buildroot}%{_libexecdir}/%{name}-shutdown
-
# Install redis module header
install -pDm644 src/%{name}module.h %{buildroot}%{_includedir}/%{name}module.h
@@ -364,6 +362,7 @@ fi
%license COPYING-hiredis
%license LICENSE-hdrhistogram
%license COPYING-hdrhistogram
+%license LICENSE-fpconv
%if %{without jemalloc}
%license COPYING-jemalloc
%endif
@@ -371,8 +370,8 @@ fi
%attr(0750, redis, root) %dir %{_sysconfdir}/%{name}
%attr(0640, redis, root) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
%attr(0640, redis, root) %config(noreplace) %{_sysconfdir}/%{name}/sentinel.conf
-%dir %attr(0750, redis, redis) %{_libdir}/%{name}
-%dir %attr(0750, redis, redis) %{redis_modules_dir}
+%dir %{_libdir}/%{name}
+%dir %{redis_modules_dir}
%dir %attr(0750, redis, redis) %{_sharedstatedir}/%{name}
%dir %attr(0750, redis, redis) %{_localstatedir}/log/%{name}
%if %{with redistrib}
@@ -382,7 +381,6 @@ fi
%exclude %{_includedir}
%exclude %{_docdir}/%{name}/*
%{_bindir}/%{name}-*
-%{_libexecdir}/%{name}-*
%{_mandir}/man1/%{name}*
%{_mandir}/man5/%{name}*
%{_unitdir}/%{name}.service
@@ -411,6 +409,62 @@ fi
%changelog
+* Tue Jan 9 2024 Remi Collet <remi@remirepo.net> - 7.2.4-1
+- Redis 7.2.4 Released Tue 09 Jan 2024 10:45:52 IST
+- Upgrade urgency SECURITY: CVE-2023-41056
+
+* Thu Nov 2 2023 Remi Collet <remi@remirepo.net> - 7.2.3-1
+- Redis 7.2.3 Released Wed 01 Nov 2023 12:00:00 IST
+- Upgrade urgency: HIGH, Fixes critical bugs affecting most users.
+
+* Wed Oct 18 2023 Remi Collet <remi@remirepo.net> - 7.2.2-1
+- Redis 7.2.2 Released Wed 18 Oct 2023 10:33:40 IDT
+- Upgrade urgency SECURITY: CVE-2023-45145
+
+* Mon Sep 25 2023 Remi Collet <remi@remirepo.net> - 7.2.1-2
+- set jemalloc page size #2240293
+
+* Thu Sep 7 2023 Remi Collet <remi@remirepo.net> - 7.2.1-1
+- Redis 7.2.1 Released Wed 06 Sep 2023 15:00:00 IDT
+- Upgrade urgency SECURITY: CVE-2023-41053
+
+* Wed Aug 16 2023 Remi Collet <remi@remirepo.net> - 7.2.0-1
+- Redis 7.2.0 GA Released Mon Aug 15 12:00:00 IDT 2023
+- Upgrade urgency LOW: This is the first stable Release for Redis 7.2.
+
+* Mon Jul 10 2023 Remi Collet <remi@remirepo.net> - 7.2~rc3-1
+- Redis 7.2 RC3 (7.1.242) Released Mon July 10 12:00:00 IDT 2023
+- Upgrade urgency LOW: This is the third Release Candidate for Redis 7.2
+- Upgrade urgency SECURITY: If you're using a previous release candidate of 7.2
+
+* Tue May 16 2023 Remi Collet <remi@remirepo.net> - 7.2~rc2-1
+- Redis 7.2 RC2 (7.1.241) Released Mon May 15 12:00:00 IST 2023
+
+* Thu Mar 30 2023 Remi Collet <remi@remirepo.net> - 7.2~rc1-3
+- fix modules directory ownership and permissions #2176173
+
+* Tue Mar 28 2023 Remi Collet <remi@remirepo.net> - 7.2~rc1-2
+- drop redis-shutdown helper and rely on systemd #2181181
+
+* Thu Mar 23 2023 Remi Collet <remi@remirepo.net> - 7.2~rc1-1
+- rebuild with upstream sources instead of git snapshot
+- refresh documentation
+
+* Thu Mar 23 2023 Remi Collet <remi@remirepo.net> - 7.2~RC1-1
+- Redis 7.2 RC1 (7.1.240) Released Wed Mar 22 12:00:00 IST 2023
+
+* Tue Mar 21 2023 Remi Collet <remi@remirepo.net> - 7.0.10-1
+- Redis 7.0.10 Released Mon Mar 20 16:00:00 IST 2023
+- Upgrade urgency: SECURITY, contains fixes to security issues.
+
+* Wed Mar 1 2023 Remi Collet <remi@remirepo.net> - 7.0.9-1
+- Redis 7.0.9 Released Tue Feb 28 12:00:00 IST 2023
+- Upgrade urgency: SECURITY, contains fixes to security issues
+
+* Tue Jan 17 2023 Remi Collet <remi@remirepo.net> - 7.0.8-1
+- Redis 7.0.8 Released Mon Jan 16 12:00:00 IDT 2023
+- Upgrade urgency: SECURITY, contains fixes to security issues.
+
* Fri Dec 16 2022 Remi Collet <remi@remirepo.net> - 7.0.7-1
- Redis 7.0.7 Released Fri Dec 16 12:00:00 IST 2022
- Upgrade urgency: MODERATE, Contains fix for a regression in Geo commands.