[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