[packages/redis] Up to 8.10.2; fixes CVE-2025-62507, CVE-2026-23479, CVE-2026-23631, CVE-2026-25243, CVE-2026-25588,
arekm
arekm at pld-linux.org
Wed Oct 14 22:47:55 CEST 2026
commit c2952f26c918a377284f437de1945aac2a79792c
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Wed Oct 14 21:55:21 2026 +0200
Up to 8.10.2; fixes CVE-2025-62507, CVE-2026-23479, CVE-2026-23631, CVE-2026-25243, CVE-2026-25588, CVE-2026-25589, CVE-2026-62356
- enable replication stream compression
- use bundled jemalloc by default (for active defrag)
arm-arch-check.patch | 33 ------------------------------
redis-tcl.patch | 19 +++++++++--------
redis.spec | 58 ++++++++++++++++++++++++++--------------------------
3 files changed, 39 insertions(+), 71 deletions(-)
---
diff --git a/redis.spec b/redis.spec
index 9ab0016..5a79cb7 100644
--- a/redis.spec
+++ b/redis.spec
@@ -3,23 +3,17 @@
#
# Conditional build:
%bcond_without tests # build without tests
-%bcond_without perftools # google perftools
%bcond_without systemd # systemd support
-%bcond_without system_jemalloc # use embedded jemalloc
-
-%ifnarch %{ix86} %{x8664} ppc
-# available only on selected architectures
-%undefine with_perftools
-%endif
+%bcond_with system_jemalloc # use system jemalloc (no active defragmentation)
Summary: A persistent key-value database
Name: redis
-Version: 8.2.2
+Version: 8.10.2
Release: 1
License: AGPLv3
Group: Applications/Databases
Source0: https://download.redis.io/releases/%{name}-%{version}.tar.gz
-# Source0-md5: 1ad91da12a1d88b616edc2eb016bebc1
+# Source0-md5: 8773d06d8e3ef87ac9357a943e1f3070
Source1: %{name}.logrotate
Source2: %{name}.init
Source3: %{name}.tmpfiles
@@ -28,13 +22,9 @@ Source5: %{name}.sysconfig
Patch0: %{name}.conf.patch
Patch1: %{name}-tcl.patch
Patch2: 0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch
-Patch3: arm-arch-check.patch
-Patch4: system-jemalloc.patch
+Patch3: system-jemalloc.patch
URL: https://www.redis.io/
-%{?with_perftools:BuildRequires: gperftools-devel}
-%ifnarch %{arm}
-BuildRequires: jemalloc-devel
-%endif
+%{?with_system_jemalloc:BuildRequires: jemalloc-devel}
%ifarch %{arm}
BuildRequires: libatomic-devel
%endif
@@ -45,7 +35,8 @@ BuildRequires: rpmbuild(macros) >= 2.011
BuildRequires: sed >= 4.0
%{?with_systemd:BuildRequires: systemd-devel}
%{?with_tests:BuildRequires: tcl >= 8.5}
-Obsoletes: redis-doc
+BuildRequires: zstd-devel
+Obsoletes: redis-doc < 2.4.2
Conflicts: logrotate < 3.8.0
ExcludeArch: sparc sparc64 alpha
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -87,18 +78,11 @@ disk.
%patch -P0 -p1
%patch -P1 -p1
%patch -P2 -p1
+%if %{with system_jemalloc}
%patch -P3 -p1
-%patch -P4 -p1
-
-# Remove integration tests
-%{__sed} -i -e '/ integration\/replication/d' tests/test_helper.tcl
-%{__sed} -i -e '/ unit\/memefficiency/d' tests/test_helper.tcl
-
-# randomize port number so concurrent builds doesn't break
-port=$((21110 + ${RANDOM:-$$} % 1000))
-sed -i -e "s/set ::port 21111/set ::port $port/" tests/test_helper.tcl
%{__rm} -r deps/jemalloc
+%endif
%build
%define _make_opts \\\
@@ -108,6 +92,7 @@ sed -i -e "s/set ::port 21111/set ::port $port/" tests/test_helper.tcl
OPTIMIZATION="" \\\
DEBUG="" \\\
BUILD_TLS=yes \\\
+ BUILD_COMPRESSION=yes \\\
USE_SYSTEMD=%{?with_systemd:yes}%{!?with_systemd:no} \\\
V=1 \\\
uname_M=%{_target_cpu}
@@ -115,7 +100,18 @@ sed -i -e "s/set ::port 21111/set ::port $port/" tests/test_helper.tcl
%{__make} -C src all
%if %{with tests}
-%{__make} test
+# randomize port number so concurrent builds doesn't break
+# replication, cluster add-node and CLAIM idle reset tests depend on timing and fail on a loaded builder
+# memory efficiency, defrag and embedded key MEMORY USAGE tests expect bundled jemalloc
+./runtest \
+ --baseport $((21110 + ${RANDOM:-$$} % 1000)) \
+ $(for t in tests/integration/replication*.tcl; do t=${t#tests/}; echo "--skipunit ${t%.tcl}"; done) \
+%if %{with system_jemalloc}
+ --skipunit unit/memefficiency \
+ --skiptest 'Check MEMORY USAGE for embedded key strings with jemalloc' \
+%endif
+ --skiptest '/^redis-cli -4 --cluster add-node using ' \
+ --skiptest 'XREADGROUP CLAIM idle time resets after RDB reload'
%endif
%install
@@ -136,6 +132,9 @@ chmod a+x $RPM_BUILD_ROOT%{_bindir}/%{name}-*
# Ensure redis-server location doesn't change
mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/%{name}-server
mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/%{name}-sentinel
+# upstream symlinks point to redis-server in the same directory
+ln -sf ../sbin/%{name}-server $RPM_BUILD_ROOT%{_bindir}/%{name}-check-aof
+ln -sf ../sbin/%{name}-server $RPM_BUILD_ROOT%{_bindir}/%{name}-check-rdb
# Install misc other
install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
@@ -195,13 +194,14 @@ fi
%files server
%defattr(644,root,root,755)
+%doc sentinel.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.conf
%attr(754,root,root) /etc/rc.d/init.d/%{name}
-%attr(755,root,root) %{_sbindir}/redis-sentinel
+%{_sbindir}/redis-sentinel
%attr(755,root,root) %{_sbindir}/redis-server
-%attr(755,root,root) %{_bindir}/redis-check-aof
-%attr(755,root,root) %{_bindir}/redis-check-rdb
+%{_bindir}/redis-check-aof
+%{_bindir}/redis-check-rdb
%config(noreplace) /etc/logrotate.d/%{name}
%dir %attr(750,redis,redis) %{_localstatedir}/lib/%{name}
%dir %attr(750,redis,redis) %{_localstatedir}/log/%{name}
diff --git a/arm-arch-check.patch b/arm-arch-check.patch
deleted file mode 100644
index 944fb1b..0000000
--- a/arm-arch-check.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 2ad19f9492fa21ea733f191a38b379ca31f4657d Mon Sep 17 00:00:00 2001
-From: Jan Palus <jpalus at fastmail.com>
-Date: Sat, 3 Sep 2022 18:27:24 +0200
-Subject: [PATCH] Make ARM arch check more consistent
-
-There are three different type of checks if build is for ARM:
-- exact (ifneq0 match for only armv6 and armv7 (arm < 6 not being
- included)
-- filter match (broken due to lack of wildcard)
-- substring match
-
-Unifiy them all and settle for $(filter armv%,$(uname_M)) as most
-generic and correct.
----
- src/Makefile | 10 ++++------
- 1 file changed, 4 insertions(+), 6 deletions(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index fdfef2b3c..7334ab9d8 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -121,7 +119,7 @@ FINAL_LIBS=-lm
- DEBUG=-g -ggdb
-
- # Linux ARM32 needs -latomic at linking time
--ifneq (,$(findstring armv,$(uname_M)))
-+ifneq (,$(filter armv%,$(uname_M)))
- FINAL_LIBS+=-latomic
- endif
-
---
-2.37.3
-
diff --git a/redis-tcl.patch b/redis-tcl.patch
index 29c4b1d..5acba37 100644
--- a/redis-tcl.patch
+++ b/redis-tcl.patch
@@ -1,9 +1,11 @@
-diff -ur redis-2.8.2.orig/runtest redis-2.8.2/runtest
---- redis-2.8.2.orig/runtest 2013-12-02 16:07:46.000000000 +0100
-+++ redis-2.8.2/runtest 2013-12-04 21:57:48.613385391 +0100
-@@ -1,10 +1,6 @@
- #!/bin/sh
--TCL_VERSIONS="8.5 8.6 8.7"
+PLD tcl ships only an unversioned tclsh binary
+--- redis-8.10.2.orig/runtest 2026-10-14 21:22:42.962801791 +0200
++++ redis-8.10.2/runtest 2026-10-14 21:22:43.039229693 +0200
+@@ -4,12 +4,8 @@
+ if [ -n "$OPEN_FILE_LIMIT" ] && [ "$OPEN_FILE_LIMIT" != "unlimited" ] && [ "$OPEN_FILE_LIMIT" -lt 1024 ]; then
+ ulimit -n 1024 2>/dev/null || true
+ fi
+-TCL_VERSIONS="8.5 8.6 8.7 9.0"
-TCLSH=""
-
-for VERSION in $TCL_VERSIONS; do
@@ -14,12 +16,11 @@ diff -ur redis-2.8.2.orig/runtest redis-2.8.2/runtest
if [ -z $TCLSH ]
then
---- redis-8.0.1/utils/speed-regression.tcl~ 2025-05-13 15:28:36.000000000 +0200
-+++ redis-8.0.1/utils/speed-regression.tcl 2025-05-20 12:49:50.356129476 +0200
+--- redis-8.10.2.orig/utils/speed-regression.tcl 2026-10-14 21:22:42.962801791 +0200
++++ redis-8.10.2/utils/speed-regression.tcl 2026-10-14 21:22:43.039664960 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env tclsh8.5
+#!/usr/bin/tclsh
# Copyright (C) 2011-Present Redis Ltd. All rights reserved.
#
# Licensed under your choice of (a) the Redis Source Available License 2.0
-
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/redis.git/commitdiff/c2952f26c918a377284f437de1945aac2a79792c
More information about the pld-cvs-commit
mailing list