Add support for the Lua 5.4
This commit is contained in:
parent
1ea73590a3
commit
08d51ea4c0
70
Add-support-for-the-Lua-5.4.patch
Normal file
70
Add-support-for-the-Lua-5.4.patch
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
From 206999072ff408d2bbb8078e4dd4425b4bcfcfd9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christopher Faulet <cfaulet@haproxy.com>
|
||||||
|
Date: Tue, 28 Jul 2020 10:33:25 +0200
|
||||||
|
Subject: [PATCH] MEDIUM: lua: Add support for the Lua 5.4
|
||||||
|
|
||||||
|
On Lua 5.4, some API changes make HAProxy compilation to fail. Among other
|
||||||
|
things, the lua_resume() function has changed and now takes an extra argument in
|
||||||
|
Lua 5.4 and the error LUA_ERRGCMM was removed. Thus the LUA_VERSION_NUM macro is
|
||||||
|
now tested to know the lua version is used and adapt the code accordingly.
|
||||||
|
|
||||||
|
Here are listed the incompatibilities with the previous Lua versions :
|
||||||
|
|
||||||
|
http://www.lua.org/manual/5.4/manual.html#8
|
||||||
|
|
||||||
|
This patch comes from the HAproxy's fedora RPM, committed by Tom Callaway :
|
||||||
|
|
||||||
|
https://src.fedoraproject.org/rpms/haproxy/blob/db970613/f/haproxy-2.2.0-lua-5.4.patch
|
||||||
|
|
||||||
|
This patch should fix the issue #730. It must be backported to 2.2 and probably
|
||||||
|
as far as 2.0.
|
||||||
|
|
||||||
|
(cherry picked from commit 08ed98fd7963968de49593304fdd9234812845a4)
|
||||||
|
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
|
||||||
|
(cherry picked from commit dc2e6f544fee393543cdeaae7bbb4fe57d49b409)
|
||||||
|
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
|
||||||
|
(cherry picked from commit a500aee9f0d6e1fc17c65735944b4e5cb5c1165f)
|
||||||
|
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
|
||||||
|
---
|
||||||
|
src/hlua.c | 9 +++++++++
|
||||||
|
1 file changed, 9 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/hlua.c b/src/hlua.c
|
||||||
|
index 0b5eaafb9..c2d045ec2 100644
|
||||||
|
--- a/src/hlua.c
|
||||||
|
+++ b/src/hlua.c
|
||||||
|
@@ -1080,6 +1080,9 @@ void hlua_hook(lua_State *L, lua_Debug *ar)
|
||||||
|
*/
|
||||||
|
static enum hlua_exec hlua_ctx_resume(struct hlua *lua, int yield_allowed)
|
||||||
|
{
|
||||||
|
+#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 504
|
||||||
|
+ int nres;
|
||||||
|
+#endif
|
||||||
|
int ret;
|
||||||
|
const char *msg;
|
||||||
|
const char *trace;
|
||||||
|
@@ -1110,7 +1113,11 @@ static enum hlua_exec hlua_ctx_resume(struct hlua *lua, int yield_allowed)
|
||||||
|
lua->start_time = now_ms;
|
||||||
|
|
||||||
|
/* Call the function. */
|
||||||
|
+#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 504
|
||||||
|
+ ret = lua_resume(lua->T, gL.T, lua->nargs, &nres);
|
||||||
|
+#else
|
||||||
|
ret = lua_resume(lua->T, gL.T, lua->nargs);
|
||||||
|
+#endif
|
||||||
|
switch (ret) {
|
||||||
|
|
||||||
|
case LUA_OK:
|
||||||
|
@@ -8278,10 +8285,12 @@ static int hlua_load(char **args, int section_type, struct proxy *curpx,
|
||||||
|
memprintf(err, "Lua message handler error: %s\n", lua_tostring(gL.T, -1));
|
||||||
|
lua_pop(gL.T, 1);
|
||||||
|
return -1;
|
||||||
|
+#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM <= 503
|
||||||
|
case LUA_ERRGCMM:
|
||||||
|
memprintf(err, "Lua garbage collector error: %s\n", lua_tostring(gL.T, -1));
|
||||||
|
lua_pop(gL.T, 1);
|
||||||
|
return -1;
|
||||||
|
+#endif
|
||||||
|
default:
|
||||||
|
memprintf(err, "Lua unknonwn error: %s\n", lua_tostring(gL.T, -1));
|
||||||
|
lua_pop(gL.T, 1);
|
||||||
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
Name: haproxy
|
Name: haproxy
|
||||||
Version: 2.0.14
|
Version: 2.0.14
|
||||||
Release: 1
|
Release: 2
|
||||||
Summary: The Reliable, High Performance TCP/HTTP Load Balancer
|
Summary: The Reliable, High Performance TCP/HTTP Load Balancer
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -16,6 +16,7 @@ Source2: %{name}.cfg
|
|||||||
Source3: %{name}.logrotate
|
Source3: %{name}.logrotate
|
||||||
Source4: %{name}.sysconfig
|
Source4: %{name}.sysconfig
|
||||||
|
|
||||||
|
Patch0001: Add-support-for-the-Lua-5.4.patch
|
||||||
|
|
||||||
BuildRequires: gcc lua-devel pcre-devel zlib-devel openssl-devel systemd-devel systemd-units libatomic
|
BuildRequires: gcc lua-devel pcre-devel zlib-devel openssl-devel systemd-devel systemd-units libatomic
|
||||||
Requires(pre): shadow-utils
|
Requires(pre): shadow-utils
|
||||||
@ -122,6 +123,9 @@ exit 0
|
|||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Aug 05 2020 lingsheng <lingsheng@huawei.com> - 2.0.14-2
|
||||||
|
- Add support for the Lua 5.4
|
||||||
|
|
||||||
* Wed Jul 22 2020 hanzhijun <hanzhijun1@huawei.com> - 2.0.14-1
|
* Wed Jul 22 2020 hanzhijun <hanzhijun1@huawei.com> - 2.0.14-1
|
||||||
- update to 2.0.14
|
- update to 2.0.14
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user