From f2a4c41dfbca86e5dee34e1b65f000519e18d1d071b5bd3c49b0e860bb94a961 Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Fri, 5 Mar 2021 11:05:49 +0000 Subject: [PATCH] Accepting request 876965 from home:Guillaume_G:branches:server:mail - Add patch to fix build with lua 5.4: * rspamd-add-lua-5.4.patch OBS-URL: https://build.opensuse.org/request/show/876965 OBS-URL: https://build.opensuse.org/package/show/server:mail/rspamd?expand=0&rev=57 --- rspamd-add-lua-5.4.patch | 148 +++++++++++++++++++++++++++++++++++++++ rspamd.changes | 6 ++ rspamd.spec | 5 +- 3 files changed, 158 insertions(+), 1 deletion(-) create mode 100644 rspamd-add-lua-5.4.patch diff --git a/rspamd-add-lua-5.4.patch b/rspamd-add-lua-5.4.patch new file mode 100644 index 0000000..8e50b80 --- /dev/null +++ b/rspamd-add-lua-5.4.patch @@ -0,0 +1,148 @@ +From 5aa14ef2279bb9d09d55f93e69c6fbd7d31e4b82 Mon Sep 17 00:00:00 2001 +From: Vsevolod Stakhov +Date: Fri, 26 Feb 2021 13:40:22 +0000 +Subject: [PATCH] [Minor] Check for Lua 5.4 + +Issue: #3656 +--- + CMakeLists.txt | 37 +++++++++++++++++++++++++------------ + 1 file changed, 25 insertions(+), 12 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a218e28fd..4b4538dd3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -157,27 +157,40 @@ ELSE(ENABLE_LUAJIT MATCHES "ON") + + IF (NOT WITH_LIBLUA) + ProcessPackage(LIBLUA LIBRARY "lua" +- "lua-5.2" +- LIB_SUFFIXES "lua5.2" ++ "lua-5.4" ++ LIB_SUFFIXES "lua5.4" + INCLUDE lua.h INCLUDE_SUFFIXES +- "include/lua-5.2" +- "include/lua5.2" +- "include/lua52" ++ "include/lua-5.4" ++ "include/lua5.4" ++ "include/lua54" + "include/lua" + ROOT ${LUA_ROOT} +- MODULES lua52 ++ MODULES lua54 + OPTIONAL) +- + IF (NOT WITH_LIBLUA) + ProcessPackage(LIBLUA LIBRARY "lua" +- "lua-5.1" ++ "lua-5.2" ++ LIB_SUFFIXES "lua5.2" + INCLUDE lua.h INCLUDE_SUFFIXES +- "include/lua-5.1" +- "include/lua5.1" +- "include/lua51" ++ "include/lua-5.2" ++ "include/lua5.2" ++ "include/lua52" + "include/lua" + ROOT ${LUA_ROOT} +- MODULES lua51) ++ MODULES lua52 ++ OPTIONAL) ++ ++ IF (NOT WITH_LIBLUA) ++ ProcessPackage(LIBLUA LIBRARY "lua" ++ "lua-5.1" ++ INCLUDE lua.h INCLUDE_SUFFIXES ++ "include/lua-5.1" ++ "include/lua5.1" ++ "include/lua51" ++ "include/lua" ++ ROOT ${LUA_ROOT} ++ MODULES lua51) ++ ENDIF() + ENDIF() + ENDIF() + ENDIF(ENABLE_LUAJIT MATCHES "ON") +From 25a8f48d565a0450aed3417c88dbeeecdad11532 Mon Sep 17 00:00:00 2001 +From: Vsevolod Stakhov +Date: Wed, 3 Mar 2021 17:17:46 +0000 +Subject: [PATCH] [Minor] More Lua 5.4 compatibility + +Issue: #3656 +--- + src/lua/lua_thread_pool.c | 4 ++++ + test/rspamd_lua_pcall_vs_resume_test.c | 6 ++++++ + 2 files changed, 10 insertions(+) + +diff --git a/src/lua/lua_thread_pool.c b/src/lua/lua_thread_pool.c +index 1fa584c51..8220bb3ff 100644 +--- a/src/lua/lua_thread_pool.c ++++ b/src/lua/lua_thread_pool.c +@@ -239,7 +239,11 @@ lua_do_resume_full (lua_State *L, gint narg, const gchar *loc) + #if LUA_VERSION_NUM < 502 + return lua_resume (L, narg); + #else ++ #if LUA_VERSION_NUM >= 504 ++ return lua_resume (L, from, nargs, NULL); ++ #else + return lua_resume (L, NULL, narg); ++ #endif + #endif + } + +diff --git a/test/rspamd_lua_pcall_vs_resume_test.c b/test/rspamd_lua_pcall_vs_resume_test.c +index eb945b92f..c06283de1 100644 +--- a/test/rspamd_lua_pcall_vs_resume_test.c ++++ b/test/rspamd_lua_pcall_vs_resume_test.c +@@ -56,6 +56,8 @@ test_resume(lua_State *L, gint function_call) + lua_rawgeti (L, LUA_REGISTRYINDEX, function_call); + #if LUA_VERSION_NUM < 502 + lua_resume (L, 0); ++#elif LUA_VERSION_NUM >= 504 ++ lua_resume (L, NULL, 0, NULL); + #else + lua_resume (L, NULL, 0); + #endif +@@ -82,6 +84,8 @@ test_resume_get_thread(gint function_call) + lua_rawgeti (ent->lua_state, LUA_REGISTRYINDEX, function_call); + #if LUA_VERSION_NUM < 502 + lua_resume (ent->lua_state, 0); ++#elif LUA_VERSION_NUM >= 504 ++ lua_resume (ent->lua_state, NULL, 0, NULL); + #else + lua_resume (ent->lua_state, NULL, 0); + #endif +@@ -110,6 +114,8 @@ test_resume_get_new_thread(gint function_call) + lua_rawgeti (ent->lua_state, LUA_REGISTRYINDEX, function_call); + #if LUA_VERSION_NUM < 502 + lua_resume (ent->lua_state, 0); ++#elif LUA_VERSION_NUM >= 504 ++ lua_resume (ent->lua_state, NULL, 0, NULL); + #else + lua_resume (ent->lua_state, NULL, 0); + #endif +From fa5a0679bd5d3e2146d2c6d3c70ed6d4447f3925 Mon Sep 17 00:00:00 2001 +From: Vsevolod Stakhov +Date: Thu, 4 Mar 2021 14:59:40 +0000 +Subject: [PATCH] [Minor] Fix misprint + +Issue: #3656 +--- + src/lua/lua_thread_pool.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lua/lua_thread_pool.c b/src/lua/lua_thread_pool.c +index 8220bb3ff..89a516a27 100644 +--- a/src/lua/lua_thread_pool.c ++++ b/src/lua/lua_thread_pool.c +@@ -240,7 +240,7 @@ lua_do_resume_full (lua_State *L, gint narg, const gchar *loc) + return lua_resume (L, narg); + #else + #if LUA_VERSION_NUM >= 504 +- return lua_resume (L, from, nargs, NULL); ++ return lua_resume (L, NULL, narg, NULL); + #else + return lua_resume (L, NULL, narg); + #endif diff --git a/rspamd.changes b/rspamd.changes index 5bc90a4..e60ecbb 100644 --- a/rspamd.changes +++ b/rspamd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Mar 2 11:04:58 UTC 2021 - Guillaume GARDET + +- Add patch to fix build with lua 5.4: + * rspamd-add-lua-5.4.patch + ------------------------------------------------------------------- Fri Feb 19 01:02:52 UTC 2021 - Bernhard Wiedemann diff --git a/rspamd.spec b/rspamd.spec index eb0acaf..f92a6a2 100644 --- a/rspamd.spec +++ b/rspamd.spec @@ -67,11 +67,13 @@ Source0: https://github.com/rspamd/rspamd/archive/%{version}/%{name}-%{ve Source1: usr.bin.rspamd Patch0: rspamd-conf.patch Patch1: rspamd-after-redis-target.patch +# PATCH-FIX-UPSTREAM - https://github.com/rspamd/rspamd/issues/3656 +Patch2: rspamd-add-lua-5.4.patch %if !0%{?is_opensuse} # because 80-check-malware-scan-clamav triggered in SLE-15-SP2 BuildRequires: -post-build-checks-malwarescan %endif -BuildRequires: cmake +BuildRequires: cmake >= 3.12 BuildRequires: curl-devel BuildRequires: db-devel BuildRequires: file-devel @@ -163,6 +165,7 @@ This package holds the client tools (rspamc and rspamadm) %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build %if 0%{?force_gcc_version}