From a51b5f454098db29ff515aba2e15744d7a35dfc5 Mon Sep 17 00:00:00 2001 From: Leon Anavi Date: Tue, 25 Nov 2025 11:28:08 +0200 Subject: valkey: Upgrade 8.1.4 -> 9.0.0 Upgrade to release 9.0.0: - HSETEX with FXX should not create an object if it does not exist - Fix crash when aborting a slot migration while child snapshot is active - Fix double MOVED reply on unblock at failover - Fix memory leak with CLIENT LIST/KILL duplicate filters - Fix incorrect accounting after completed atomic slot migration - Fix Lua VM crash after FUNCTION FLUSH ASYNC + FUNCTION LOAD - Fix invalid memory address caused by hashtable shrinking during safe iteration Replace dependency hiredis with libvalkey. Signed-off-by: Leon Anavi Signed-off-by: Khem Raj --- ...-config.h-Enable-HAVE_ARM_NEON-on-AArch64.patch | 31 +++++++++ .../hiredis-use-default-CC-if-it-is-set.patch | 43 ------------- meta-oe/recipes-extended/valkey/valkey_8.1.4.bb | 75 ---------------------- meta-oe/recipes-extended/valkey/valkey_9.0.0.bb | 75 ++++++++++++++++++++++ 4 files changed, 106 insertions(+), 118 deletions(-) create mode 100644 meta-oe/recipes-extended/valkey/valkey/0001-src-config.h-Enable-HAVE_ARM_NEON-on-AArch64.patch delete mode 100644 meta-oe/recipes-extended/valkey/valkey/hiredis-use-default-CC-if-it-is-set.patch delete mode 100644 meta-oe/recipes-extended/valkey/valkey_8.1.4.bb create mode 100644 meta-oe/recipes-extended/valkey/valkey_9.0.0.bb (limited to 'meta-oe') diff --git a/meta-oe/recipes-extended/valkey/valkey/0001-src-config.h-Enable-HAVE_ARM_NEON-on-AArch64.patch b/meta-oe/recipes-extended/valkey/valkey/0001-src-config.h-Enable-HAVE_ARM_NEON-on-AArch64.patch new file mode 100644 index 0000000000..464fa60ee5 --- /dev/null +++ b/meta-oe/recipes-extended/valkey/valkey/0001-src-config.h-Enable-HAVE_ARM_NEON-on-AArch64.patch @@ -0,0 +1,31 @@ +From b15bcea48132bb8e8c1c2a4a05860cd5b73db5fd Mon Sep 17 00:00:00 2001 +From: Leon Anavi +Date: Tue, 25 Nov 2025 08:56:49 +0000 +Subject: [PATCH] src/config.h: Enable HAVE_ARM_NEON on AArch64 + +Only enable HAVE_ARM_NEON on AArch64 because it supports vaddvq and +all needed compiler intrinsics. + +Upstream-Status: Submitted [https://github.com/valkey-io/valkey/pull/2873] + +Signed-off-by: Leon Anavi +--- + src/config.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/config.h b/src/config.h +index de0c24dcc..0c6b111a9 100644 +--- a/src/config.h ++++ b/src/config.h +@@ -392,7 +392,7 @@ void setcpuaffinity(const char *cpulist); + #endif + + /* Check if we can compile ARM SIMD code */ +-#if defined(__ARM_NEON) || defined(__ARM_NEON__) ++#if defined(__aarch64__) && (defined(__ARM_NEON) || defined(__ARM_NEON__)) + #define HAVE_ARM_NEON 1 + #else + #define HAVE_ARM_NEON 0 +-- +2.47.3 + diff --git a/meta-oe/recipes-extended/valkey/valkey/hiredis-use-default-CC-if-it-is-set.patch b/meta-oe/recipes-extended/valkey/valkey/hiredis-use-default-CC-if-it-is-set.patch deleted file mode 100644 index ffb365f371..0000000000 --- a/meta-oe/recipes-extended/valkey/valkey/hiredis-use-default-CC-if-it-is-set.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a5bcf56630df520040076dd14c3c54fef0785ceb Mon Sep 17 00:00:00 2001 -From: Venture Research -Date: Fri, 8 Feb 2013 17:39:52 -0600 -Subject: [PATCH] hiredis: use default CC if it is set -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Instead of trying to automagically figure out CC, which breaks with OE -as CC has spaces in it, just skip it if one was already passed in. - -Signed-off-by: Venture Research - -Update to work with 4.0.8 -Signed-off-by: Alistair Francis - -Reworked for 6.0.4 -Signed-off-by: Andreas Müller - -Reworked for 8.0.0 -Signed-off-by: Leon Anavi - -Reworked for 8.1.0 -Signed-off-by: Randy MacLeod - -Upstream-Status: Inappropriate [OE-specifc] ---- - deps/hiredis/Makefile | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/deps/hiredis/Makefile b/deps/hiredis/Makefile -index 4a3de1f6e..49bb525cd 100644 ---- a/deps/hiredis/Makefile -+++ b/deps/hiredis/Makefile -@@ -36,8 +36,6 @@ endef - export REDIS_TEST_CONFIG - - # Fallback to gcc when $CC is not in $PATH. --CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc') --CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++') - OPTIMIZATION?=-O3 - WARNINGS=-Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers - DEBUG_FLAGS?= -g -ggdb diff --git a/meta-oe/recipes-extended/valkey/valkey_8.1.4.bb b/meta-oe/recipes-extended/valkey/valkey_8.1.4.bb deleted file mode 100644 index 9947a9299c..0000000000 --- a/meta-oe/recipes-extended/valkey/valkey_8.1.4.bb +++ /dev/null @@ -1,75 +0,0 @@ -SUMMARY = "Valkey key-value store" -DESCRIPTION = "A flexible distributed key-value datastore that supports both caching and beyond caching workloads." -HOMEPAGE = "http://valkey.io" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=08b9159809d809e8aaa340a8387e693e" -DEPENDS = "readline lua ncurses" - -SRC_URI = " \ - git://github.com/valkey-io/valkey.git;branch=8.1;protocol=https \ - file://valkey.conf \ - file://init-valkey-server \ - file://valkey.service \ - file://hiredis-use-default-CC-if-it-is-set.patch \ - file://lua-update-Makefile-to-use-environment-build-setting.patch \ - file://oe-use-libc-malloc.patch \ - file://0001-src-Do-not-reset-FINAL_LIBS.patch \ - file://GNU_SOURCE-7.patch \ -" -SRCREV = "5f4bae3ea10174a7c872cc099c953b0e91afa93a" - -RPROVIDES:${PN} = "virtual-redis" - -inherit pkgconfig update-rc.d systemd useradd - -FINAL_LIBS:x86:toolchain-clang = "-latomic" -FINAL_LIBS:riscv32 = "-latomic" -FINAL_LIBS:mips = "-latomic" -FINAL_LIBS:arm = "-latomic" -FINAL_LIBS:powerpc = "-latomic" - -export FINAL_LIBS - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --home-dir /var/lib/valkey -g valkey --shell /bin/false valkey" -GROUPADD_PARAM:${PN} = "--system valkey" - -PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "USE_SYSTEMD=yes,USE_SYSTEMD=no,systemd" - -EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}" - -do_compile() { - oe_runmake -C deps hiredis lua linenoise - oe_runmake -} - -do_install() { - export PREFIX=${D}/${prefix} - oe_runmake install - install -d ${D}/${sysconfdir}/valkey - install -m 0644 ${UNPACKDIR}/valkey.conf ${D}/${sysconfdir}/valkey/valkey.conf - install -d ${D}/${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/init-valkey-server ${D}/${sysconfdir}/init.d/valkey-server - install -d ${D}/var/lib/valkey/ - chown valkey.valkey ${D}/var/lib/valkey/ - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${UNPACKDIR}/valkey.service ${D}${systemd_system_unitdir} - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/valkey.service - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/valkey/valkey.conf - sed -i 's!supervised no!supervised systemd!' ${D}/${sysconfdir}/valkey/valkey.conf - fi -} - -CONFFILES:${PN} = "${sysconfdir}/valkey/valkey.conf" - -INITSCRIPT_NAME = "valkey-server" -INITSCRIPT_PARAMS = "defaults 87" - -SYSTEMD_SERVICE:${PN} = "valkey.service" - -CVE_STATUS[CVE-2022-3734] = "not-applicable-platform: CVE only applies for Windows." diff --git a/meta-oe/recipes-extended/valkey/valkey_9.0.0.bb b/meta-oe/recipes-extended/valkey/valkey_9.0.0.bb new file mode 100644 index 0000000000..77f2551261 --- /dev/null +++ b/meta-oe/recipes-extended/valkey/valkey_9.0.0.bb @@ -0,0 +1,75 @@ +SUMMARY = "Valkey key-value store" +DESCRIPTION = "A flexible distributed key-value datastore that supports both caching and beyond caching workloads." +HOMEPAGE = "http://valkey.io" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=08b9159809d809e8aaa340a8387e693e" +DEPENDS = "readline lua ncurses" + +SRC_URI = " \ + git://github.com/valkey-io/valkey.git;branch=9.0;protocol=https \ + file://valkey.conf \ + file://init-valkey-server \ + file://valkey.service \ + file://lua-update-Makefile-to-use-environment-build-setting.patch \ + file://oe-use-libc-malloc.patch \ + file://0001-src-Do-not-reset-FINAL_LIBS.patch \ + file://GNU_SOURCE-7.patch \ + file://0001-src-config.h-Enable-HAVE_ARM_NEON-on-AArch64.patch \ +" +SRCREV = "5018b12b0de2d2322a1bbf6b041c43740587c0f2" + +RPROVIDES:${PN} = "virtual-redis" + +inherit pkgconfig update-rc.d systemd useradd + +FINAL_LIBS:x86:toolchain-clang = "-latomic" +FINAL_LIBS:riscv32 = "-latomic" +FINAL_LIBS:mips = "-latomic" +FINAL_LIBS:arm = "-latomic" +FINAL_LIBS:powerpc = "-latomic" + +export FINAL_LIBS + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --home-dir /var/lib/valkey -g valkey --shell /bin/false valkey" +GROUPADD_PARAM:${PN} = "--system valkey" + +PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "USE_SYSTEMD=yes,USE_SYSTEMD=no,systemd" + +EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}" + +do_compile() { + oe_runmake -C deps libvalkey lua linenoise + oe_runmake +} + +do_install() { + export PREFIX=${D}/${prefix} + oe_runmake install + install -d ${D}/${sysconfdir}/valkey + install -m 0644 ${UNPACKDIR}/valkey.conf ${D}/${sysconfdir}/valkey/valkey.conf + install -d ${D}/${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/init-valkey-server ${D}/${sysconfdir}/init.d/valkey-server + install -d ${D}/var/lib/valkey/ + chown valkey.valkey ${D}/var/lib/valkey/ + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${UNPACKDIR}/valkey.service ${D}${systemd_system_unitdir} + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/valkey.service + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/valkey/valkey.conf + sed -i 's!supervised no!supervised systemd!' ${D}/${sysconfdir}/valkey/valkey.conf + fi +} + +CONFFILES:${PN} = "${sysconfdir}/valkey/valkey.conf" + +INITSCRIPT_NAME = "valkey-server" +INITSCRIPT_PARAMS = "defaults 87" + +SYSTEMD_SERVICE:${PN} = "valkey.service" + +CVE_STATUS[CVE-2022-3734] = "not-applicable-platform: CVE only applies for Windows." -- cgit v1.2.3-54-g00ecf