[arch-commits] Commit in haproxy/trunk (2 files)
Christian Hesse
eworm at archlinux.org
Thu Jul 30 12:26:45 UTC 2020
Date: Thursday, July 30, 2020 @ 12:26:44
Author: eworm
Revision: 665910
upgpkg: haproxy 2.2.1-3: build with lua 5.4
Added:
haproxy/trunk/0002-lua-Add-support-for-the-Lua-5.4.patch
Modified:
haproxy/trunk/PKGBUILD
--------------------------------------------+
0002-lua-Add-support-for-the-Lua-5.4.patch | 69 +++++++++++++++++++++++++++
PKGBUILD | 15 ++---
2 files changed, 76 insertions(+), 8 deletions(-)
Added: 0002-lua-Add-support-for-the-Lua-5.4.patch
===================================================================
--- 0002-lua-Add-support-for-the-Lua-5.4.patch (rev 0)
+++ 0002-lua-Add-support-for-the-Lua-5.4.patch 2020-07-30 12:26:44 UTC (rev 665910)
@@ -0,0 +1,69 @@
+From dc2e6f544fee393543cdeaae7bbb4fe57d49b409 Mon Sep 17 00:00:00 2001
+From: Christopher Faulet <cfaulet at haproxy.com>
+Date: Tue, 28 Jul 2020 10:33:25 +0200
+Subject: 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 at haproxy.com>
+---
+ src/hlua.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/hlua.c b/src/hlua.c
+index af0aeda06..b2134fe6e 100644
+--- a/src/hlua.c
++++ b/src/hlua.c
+@@ -1069,6 +1069,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;
+@@ -1100,7 +1103,11 @@ resume_execution:
+ lua->wake_time = TICK_ETERNITY;
+
+ /* 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:
+@@ -7845,10 +7852,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 unknown error: %s\n", lua_tostring(gL.T, -1));
+ lua_pop(gL.T, 1);
+--
+cgit v1.2.3
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2020-07-30 11:20:48 UTC (rev 665909)
+++ PKGBUILD 2020-07-30 12:26:44 UTC (rev 665910)
@@ -3,7 +3,7 @@
pkgname=haproxy
pkgver=2.2.1
-pkgrel=2
+pkgrel=3
pkgdesc='Reliable, high performance TCP/HTTP load balancer'
url='https://www.haproxy.org/'
@@ -10,11 +10,7 @@
arch=('x86_64')
license=('GPL')
-# TODO: switch to lua 5.4 when possible
-# Function lua_resume() earned a new argument, requires haproxy to be updated.
-# https://github.com/haproxy/haproxy/issues/730
-
-depends=('openssl' 'pcre' 'zlib' 'lua53' 'systemd-libs')
+depends=('openssl' 'pcre' 'zlib' 'lua' 'systemd-libs')
makedepends=('systemd')
backup=('etc/haproxy/haproxy.cfg')
@@ -24,17 +20,20 @@
source=(https://www.haproxy.org/download/${pkgver%.*}/src/haproxy-$pkgver.tar.gz
haproxy.cfg
haproxy.sysusers
- 0001-Use-CFLAGS-and-LDFLAGS-when-building-contrib.patch)
+ 0001-Use-CFLAGS-and-LDFLAGS-when-building-contrib.patch
+ 0002-lua-Add-support-for-the-Lua-5.4.patch)
sha256sums=('536552af1316807c01de727ad3dac84b3a2f5285db32e9bfdfe234e47ff9d124'
'e88edeb2fe23508565e46ff485c93cfb7c2e9c64f231538452ec7ecd7ec37a42'
'b02b4088205039f0979aef0ef3e22957f493dd54eabefaee7011f2d795303b3e'
- '81c03ef5d69f4f2ef2c7caa6722c82cda4a53b65f788a46e668ec2faa3abd8f5')
+ '81c03ef5d69f4f2ef2c7caa6722c82cda4a53b65f788a46e668ec2faa3abd8f5'
+ '0efa758f64352dd2ced88227a6447cec25ec564c4d3be1cc954d760e61ef064a')
prepare() {
cd haproxy-$pkgver
patch -p1 <"$srcdir"/0001-Use-CFLAGS-and-LDFLAGS-when-building-contrib.patch
+ patch -p1 <"$srcdir"/0002-lua-Add-support-for-the-Lua-5.4.patch
}
build() {
More information about the arch-commits
mailing list