public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH V2] lua: upgrade from 5.4.8 to 5.5.0
@ 2026-02-24  2:46 Changqing Li
  2026-02-26 13:37 ` [OE-core] " Ross Burton
  0 siblings, 1 reply; 10+ messages in thread
From: Changqing Li @ 2026-02-24  2:46 UTC (permalink / raw)
  To: openembedded-core

Changes:
https://www.lua.org/manual/5.5/readme.html#changes

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 .../lua/{lua_5.4.8.bb => lua_5.5.0.bb}            | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
 rename meta/recipes-devtools/lua/{lua_5.4.8.bb => lua_5.5.0.bb} (78%)

diff --git a/meta/recipes-devtools/lua/lua_5.4.8.bb b/meta/recipes-devtools/lua/lua_5.5.0.bb
similarity index 78%
rename from meta/recipes-devtools/lua/lua_5.4.8.bb
rename to meta/recipes-devtools/lua/lua_5.5.0.bb
index 1d37cddeb8..cbca0dc63c 100644
--- a/meta/recipes-devtools/lua/lua_5.4.8.bb
+++ b/meta/recipes-devtools/lua/lua_5.5.0.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Lua is a powerful light-weight programming language designed \
 for extending applications."
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=305;endline=326;md5=0e573c143cb6491b41cf02cfbcb8c267"
+LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=299;endline=320;md5=0e573c143cb6491b41cf02cfbcb8c267"
 HOMEPAGE = "http://www.lua.org/"
 
 SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
@@ -12,13 +12,12 @@ SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
 # if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release.
 PV_testsuites = "${PV}"
 
-SRC_URI[tarballsrc.sha256sum] = "4f18ddae154e793e46eeab727c59ef1c0c0c2b744e7b94219710d76f530629ae"
-SRC_URI[tarballtest.sha256sum] = "9581d5a7c39ffbf29b8ccde2709083c380f7bbddbd968dcb15712d2f2e33f4e5"
+SRC_URI[tarballsrc.sha256sum] = "57ccc32bbbd005cab75bcc52444052535af691789dba2b9016d5c50640d68b3d"
+SRC_URI[tarballtest.sha256sum] = "5e47bbfad7db2965d69580e918ee64edeb8d8d32de404b8dae9ce5c6d76a1472"
 
 inherit pkgconfig binconfig ptest
 
-PACKAGECONFIG ??= "readline"
-PACKAGECONFIG[readline] = ",,readline"
+DEPENDS = "readline"
 
 TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
 EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -fPIC' MYLDFLAGS='${LDFLAGS}' 'AR=ar rcD' 'RANLIB=ranlib -D'"
@@ -29,7 +28,7 @@ do_configure:prepend() {
 }
 
 do_compile () {
-    oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'readline', 'linux-readline', 'linux', d)}
+    oe_runmake linux
 }
 
 do_install () {
@@ -40,13 +39,13 @@ do_install () {
         'INSTALL_MAN=${D}${mandir}/man1' \
         'INSTALL_SHARE=${D}${datadir}/lua' \
         'INSTALL_LIB=${D}${libdir}' \
-        'INSTALL_CMOD=${D}${libdir}/lua/5.4' \
+        'INSTALL_CMOD=${D}${libdir}/lua/5.5' \
         install
     install -d ${D}${libdir}/pkgconfig
 
     sed -e s/@VERSION@/${PV}/ -e s#@LIBDIR@#${libdir}# -e s#@INCLUDEDIR@#${includedir}# ${UNPACKDIR}/lua.pc.in > ${S}/lua.pc
     install -m 0644 ${S}/lua.pc ${D}${libdir}/pkgconfig/
-    rmdir ${D}${datadir}/lua/5.4
+    rmdir ${D}${datadir}/lua/5.5
     rmdir ${D}${datadir}/lua
 }
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH V2] lua: upgrade from 5.4.8 to 5.5.0
  2026-02-24  2:46 [PATCH V2] lua: upgrade from 5.4.8 to 5.5.0 Changqing Li
@ 2026-02-26 13:37 ` Ross Burton
  2026-02-27  7:07   ` Changqing Li
  2026-02-27  7:08   ` [PATCH V3] " Changqing Li
  0 siblings, 2 replies; 10+ messages in thread
From: Ross Burton @ 2026-02-26 13:37 UTC (permalink / raw)
  To: changqing.li@windriver.com; +Cc: openembedded-core@lists.openembedded.org

On 24 Feb 2026, at 02:46, Changqing Li via lists.openembedded.org <changqing.li=windriver.com@lists.openembedded.org> wrote:
> -LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=305;endline=326;md5=0e573c143cb6491b41cf02cfbcb8c267"
> +LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=299;endline=320;md5=0e573c143cb6491b41cf02cfbcb8c267"

You need a License-Update: line in the commit message explaining why this changed.

> -PACKAGECONFIG ??= "readline"
> -PACKAGECONFIG[readline] = ",,readline"
> +DEPENDS = "readline"

Why is this no longer conditional?  Readline is GPLv3 so there are people who want to disable this everywhere.

> do_install () {
> @@ -40,13 +39,13 @@ do_install () {
>         'INSTALL_MAN=${D}${mandir}/man1' \
>         'INSTALL_SHARE=${D}${datadir}/lua' \
>         'INSTALL_LIB=${D}${libdir}' \
> -        'INSTALL_CMOD=${D}${libdir}/lua/5.4' \
> +        'INSTALL_CMOD=${D}${libdir}/lua/5.5' \
>         install
>     install -d ${D}${libdir}/pkgconfig
> 
>     sed -e s/@VERSION@/${PV}/ -e s#@LIBDIR@#${libdir}# -e s#@INCLUDEDIR@#${includedir}# ${UNPACKDIR}/lua.pc.in > ${S}/lua.pc
>     install -m 0644 ${S}/lua.pc ${D}${libdir}/pkgconfig/
> -    rmdir ${D}${datadir}/lua/5.4
> +    rmdir ${D}${datadir}/lua/5.5
>     rmdir ${D}${datadir}/lua
> }

Maybe use 5.* to avoid having to do this on every upgrade?

Ross

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH V2] lua: upgrade from 5.4.8 to 5.5.0
  2026-02-26 13:37 ` [OE-core] " Ross Burton
@ 2026-02-27  7:07   ` Changqing Li
  2026-02-27  7:08   ` [PATCH V3] " Changqing Li
  1 sibling, 0 replies; 10+ messages in thread
From: Changqing Li @ 2026-02-27  7:07 UTC (permalink / raw)
  To: Ross Burton, Mathieu Dubois-Briand
  Cc: openembedded-core@lists.openembedded.org


On 2/26/26 21:37, Ross Burton wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On 24 Feb 2026, at 02:46, Changqing Li via lists.openembedded.org <changqing.li=windriver.com@lists.openembedded.org> wrote:
>> -LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=305;endline=326;md5=0e573c143cb6491b41cf02cfbcb8c267"
>> +LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=299;endline=320;md5=0e573c143cb6491b41cf02cfbcb8c267"
> You need a License-Update: line in the commit message explaining why this changed.
>
>> -PACKAGECONFIG ??= "readline"
>> -PACKAGECONFIG[readline] = ",,readline"
>> +DEPENDS = "readline"
> Why is this no longer conditional?  Readline is GPLv3 so there are people who want to disable this everywhere.
Thanks.  I will correct this.
>
>> do_install () {
>> @@ -40,13 +39,13 @@ do_install () {
>>          'INSTALL_MAN=${D}${mandir}/man1' \
>>          'INSTALL_SHARE=${D}${datadir}/lua' \
>>          'INSTALL_LIB=${D}${libdir}' \
>> -        'INSTALL_CMOD=${D}${libdir}/lua/5.4' \
>> +        'INSTALL_CMOD=${D}${libdir}/lua/5.5' \
>>          install
>>      install -d ${D}${libdir}/pkgconfig
>>
>>      sed -e s/@VERSION@/${PV}/ -e s#@LIBDIR@#${libdir}# -e s#@INCLUDEDIR@#${includedir}# ${UNPACKDIR}/lua.pc.in > ${S}/lua.pc
>>      install -m 0644 ${S}/lua.pc ${D}${libdir}/pkgconfig/
>> -    rmdir ${D}${datadir}/lua/5.4
>> +    rmdir ${D}${datadir}/lua/5.5
>>      rmdir ${D}${datadir}/lua
>> }
> Maybe use 5.* to avoid having to do this on every upgrade?

Changed to 5.* in V3.

//Changqing

>
> Ross


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH V3] lua: upgrade from 5.4.8 to 5.5.0
  2026-02-26 13:37 ` [OE-core] " Ross Burton
  2026-02-27  7:07   ` Changqing Li
@ 2026-02-27  7:08   ` Changqing Li
  2026-03-03 15:16     ` [OE-core] " Ross Burton
  1 sibling, 1 reply; 10+ messages in thread
From: Changqing Li @ 2026-02-27  7:08 UTC (permalink / raw)
  To: openembedded-core

Changes:
https://www.lua.org/manual/5.5/readme.html#changes

Refer [1], PLATS linux-readline is moved, and readline is changed to
load dynamically, keep readline as PACKAGECONFIG to allow user to remove
readline dependency.

[1] https://github.com/lua/lua/commit/366c85564874d560b3608349f752e9e490f9002d

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 .../lua/{lua_5.4.8.bb => lua_5.5.0.bb}               | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
 rename meta/recipes-devtools/lua/{lua_5.4.8.bb => lua_5.5.0.bb} (81%)

diff --git a/meta/recipes-devtools/lua/lua_5.4.8.bb b/meta/recipes-devtools/lua/lua_5.5.0.bb
similarity index 81%
rename from meta/recipes-devtools/lua/lua_5.4.8.bb
rename to meta/recipes-devtools/lua/lua_5.5.0.bb
index 1d37cddeb8..86282b3f93 100644
--- a/meta/recipes-devtools/lua/lua_5.4.8.bb
+++ b/meta/recipes-devtools/lua/lua_5.5.0.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Lua is a powerful light-weight programming language designed \
 for extending applications."
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=305;endline=326;md5=0e573c143cb6491b41cf02cfbcb8c267"
+LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=299;endline=320;md5=0e573c143cb6491b41cf02cfbcb8c267"
 HOMEPAGE = "http://www.lua.org/"
 
 SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
@@ -12,8 +12,8 @@ SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
 # if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release.
 PV_testsuites = "${PV}"
 
-SRC_URI[tarballsrc.sha256sum] = "4f18ddae154e793e46eeab727c59ef1c0c0c2b744e7b94219710d76f530629ae"
-SRC_URI[tarballtest.sha256sum] = "9581d5a7c39ffbf29b8ccde2709083c380f7bbddbd968dcb15712d2f2e33f4e5"
+SRC_URI[tarballsrc.sha256sum] = "57ccc32bbbd005cab75bcc52444052535af691789dba2b9016d5c50640d68b3d"
+SRC_URI[tarballtest.sha256sum] = "5e47bbfad7db2965d69580e918ee64edeb8d8d32de404b8dae9ce5c6d76a1472"
 
 inherit pkgconfig binconfig ptest
 
@@ -29,7 +29,7 @@ do_configure:prepend() {
 }
 
 do_compile () {
-    oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'readline', 'linux-readline', 'linux', d)}
+    oe_runmake linux
 }
 
 do_install () {
@@ -40,13 +40,13 @@ do_install () {
         'INSTALL_MAN=${D}${mandir}/man1' \
         'INSTALL_SHARE=${D}${datadir}/lua' \
         'INSTALL_LIB=${D}${libdir}' \
-        'INSTALL_CMOD=${D}${libdir}/lua/5.4' \
+        'INSTALL_CMOD=${D}${libdir}/lua/5.5' \
         install
     install -d ${D}${libdir}/pkgconfig
 
     sed -e s/@VERSION@/${PV}/ -e s#@LIBDIR@#${libdir}# -e s#@INCLUDEDIR@#${includedir}# ${UNPACKDIR}/lua.pc.in > ${S}/lua.pc
     install -m 0644 ${S}/lua.pc ${D}${libdir}/pkgconfig/
-    rmdir ${D}${datadir}/lua/5.4
+    rmdir ${D}${datadir}/lua/5.*
     rmdir ${D}${datadir}/lua
 }
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH V3] lua: upgrade from 5.4.8 to 5.5.0
  2026-02-27  7:08   ` [PATCH V3] " Changqing Li
@ 2026-03-03 15:16     ` Ross Burton
  2026-03-04  7:23       ` Changqing Li
  2026-03-05 10:54       ` [PATCH V4] " Changqing Li
  0 siblings, 2 replies; 10+ messages in thread
From: Ross Burton @ 2026-03-03 15:16 UTC (permalink / raw)
  To: changqing.li@windriver.com; +Cc: openembedded-core@lists.openembedded.org

Hi,

> On 27 Feb 2026, at 07:08, Changqing Li via lists.openembedded.org <changqing.li=windriver.com@lists.openembedded.org> wrote:
> Refer [1], PLATS linux-readline is moved, and readline is changed to
> load dynamically, keep readline as PACKAGECONFIG to allow user to remove
> readline dependency.

As is traditional with people using dlopen(), this is now broken…

Lua defaults to dlopen() support being enabled (LUA_USE_DLOPEN is defined on linux) and the readline library is set to libreadline.so <http://libreadline.so/>.

So the PACKAGECONFIG is not doing the right thing anymore: having readline in the sysroot doesn’t change the build, and has no impact on the runtime packages.

The obvious answer is to change the PACKAGECONFIG to “,,,readline” so that there’s still an option that has the effect of enabling readline in lua, but that also won’t work as the on-disk file isn’t called libreadline.so <http://libreadline.so/> unless you install the -dev package…. This means we should also set LUA_READLINELIB to "libreadline.so.8”.

Bonus points for adding readline as a build dependency and looking up what the libreadline.so <http://libreadline.so/> symlink resolves to, but I don’t expect the readline soname to change in the near future so this can be considered overkill.

Ross

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH V3] lua: upgrade from 5.4.8 to 5.5.0
  2026-03-03 15:16     ` [OE-core] " Ross Burton
@ 2026-03-04  7:23       ` Changqing Li
  2026-03-04 17:58         ` Ross Burton
  2026-03-05 10:54       ` [PATCH V4] " Changqing Li
  1 sibling, 1 reply; 10+ messages in thread
From: Changqing Li @ 2026-03-04  7:23 UTC (permalink / raw)
  To: Ross Burton; +Cc: openembedded-core@lists.openembedded.org

[-- Attachment #1: Type: text/plain, Size: 2733 bytes --]


On 3/3/26 23:16, Ross Burton wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> Hi,
>
>> On 27 Feb 2026, at 07:08, Changqing Li via lists.openembedded.org<changqing.li=windriver.com@lists.openembedded.org> wrote:
>> Refer [1], PLATS linux-readline is moved, and readline is changed to
>> load dynamically, keep readline as PACKAGECONFIG to allow user to remove
>> readline dependency.
> As is traditional with people using dlopen(), this is now broken…
>
> Lua defaults to dlopen() support being enabled (LUA_USE_DLOPEN is defined on linux) and the readline library is set to libreadline.so<http://libreadline.so/>.
>
> So the PACKAGECONFIG is not doing the right thing anymore: having readline in the sysroot doesn’t change the build, and has no impact on the runtime packages.
>
> The obvious answer is to change the PACKAGECONFIG to “,,,readline” so that there’s still an option that has the effect of enabling readline in lua, but that also won’t work as the on-disk file isn’t called libreadline.so<http://libreadline.so/> unless you install the -dev package…. This means we should also set LUA_READLINELIB to "libreadline.so.8”.
>
> Bonus points for adding readline as a build dependency and looking up what the libreadline.so<http://libreadline.so/> symlink resolves to, but I don’t expect the readline soname to change in the near future so this can be considered overkill.

Hi, Ross

Thanks for pointing out this.  How about we just install -dev packages? 
so that we don't need a local patch to set LUA_READLINELIB to 
"libreadline.so.8”. And

in this way, we are align with lua upstream expected (if readline-dev 
installed, readline is used, otherwise, not use readline)

Here is the diff based on V3:

  PACKAGECONFIG ??= "readline"
-PACKAGECONFIG[readline] = ",,readline"
+PACKAGECONFIG[readline] = ",,,readline-dev"

  TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
  EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -fPIC' 
MYLDFLAGS='${LDFLAGS}' 'AR=ar rcD' 'RANLIB=ranlib -D'"
@@ -64,3 +64,5 @@ BBCLASSEXTEND = "native nativesdk"

  inherit multilib_script
  MULTILIB_SCRIPTS = "${PN}-dev:${includedir}/luaconf.h"
+
+INSANE_SKIP:${PN} += "dev-deps"

With V3 patch:

root@qemux86-64:~# lua -i -W
Lua 5.5.0  Copyright (C) 1994-2025 Lua.org, PUC-Rio
Lua warning: library 'libreadline.so' not found
 >

With the V4 patch:

root@qemux86-64:/usr/lib# lua -i -W
Lua 5.5.0  Copyright (C) 1994-2025 Lua.org, PUC-Rio
 >

if you think this is ok,  I will send a V4 like this.

Regards

Changqing

>
> Ross

[-- Attachment #2: Type: text/html, Size: 4308 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH V3] lua: upgrade from 5.4.8 to 5.5.0
  2026-03-04  7:23       ` Changqing Li
@ 2026-03-04 17:58         ` Ross Burton
  0 siblings, 0 replies; 10+ messages in thread
From: Ross Burton @ 2026-03-04 17:58 UTC (permalink / raw)
  To: Changqing Li; +Cc: openembedded-core@lists.openembedded.org

On 4 Mar 2026, at 07:23, Changqing Li <changqing.li@windriver.com> wrote:
> Thanks for pointing out this.  How about we just install -dev packages? so that we don't need a local patch to set LUA_READLINELIB to "libreadline.so.8”. And
> in this way, we are align with lua upstream expected (if readline-dev installed, readline is used, otherwise, not use readline)
> Here is the diff based on V3:
>  PACKAGECONFIG ??= "readline"
> -PACKAGECONFIG[readline] = ",,readline"
> +PACKAGECONFIG[readline] = ",,,readline-dev"

Hard no. This keeps on happening with different people being clever with dlopen() and each time they’re wrong.

Ross

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH V4] lua: upgrade from 5.4.8 to 5.5.0
  2026-03-03 15:16     ` [OE-core] " Ross Burton
  2026-03-04  7:23       ` Changqing Li
@ 2026-03-05 10:54       ` Changqing Li
  2026-03-06 10:18         ` [OE-core] " Mathieu Dubois-Briand
  1 sibling, 1 reply; 10+ messages in thread
From: Changqing Li @ 2026-03-05 10:54 UTC (permalink / raw)
  To: openembedded-core

From: "Changqing Li via lists.openembedded.org" <changqing.li=windriver.com@lists.openembedded.org>

Changes:
https://www.lua.org/manual/5.5/readme.html#changes

PLATS linux-readline is moved, and readline is changed to load
dynamically, refer [1], keep readline as PACKAGECONFIG to allow user to
remove readline dependency.

Lua use dlopen by default, and LUA_READLINELIB is set to libreadline.so,
but libreadline.so is in the dev package, which will make Lua cannot
load libreadline even when libreadline is installed. Make readline as
build dependency and detect the real libreadline name and set LUA_READLINELIB

[1] https://github.com/lua/lua/commit/366c85564874d560b3608349f752e9e490f9002d
[2] https://github.com/lua/lua/blob/master/lua.c#L520

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 .../lua/{lua_5.4.8.bb => lua_5.5.0.bb}        | 20 ++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)
 rename meta/recipes-devtools/lua/{lua_5.4.8.bb => lua_5.5.0.bb} (72%)

diff --git a/meta/recipes-devtools/lua/lua_5.4.8.bb b/meta/recipes-devtools/lua/lua_5.5.0.bb
similarity index 72%
rename from meta/recipes-devtools/lua/lua_5.4.8.bb
rename to meta/recipes-devtools/lua/lua_5.5.0.bb
index 1d37cddeb8..03d4602dfb 100644
--- a/meta/recipes-devtools/lua/lua_5.4.8.bb
+++ b/meta/recipes-devtools/lua/lua_5.5.0.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Lua is a powerful light-weight programming language designed \
 for extending applications."
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=305;endline=326;md5=0e573c143cb6491b41cf02cfbcb8c267"
+LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=299;endline=320;md5=0e573c143cb6491b41cf02cfbcb8c267"
 HOMEPAGE = "http://www.lua.org/"
 
 SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
@@ -12,24 +12,30 @@ SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
 # if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release.
 PV_testsuites = "${PV}"
 
-SRC_URI[tarballsrc.sha256sum] = "4f18ddae154e793e46eeab727c59ef1c0c0c2b744e7b94219710d76f530629ae"
-SRC_URI[tarballtest.sha256sum] = "9581d5a7c39ffbf29b8ccde2709083c380f7bbddbd968dcb15712d2f2e33f4e5"
+SRC_URI[tarballsrc.sha256sum] = "57ccc32bbbd005cab75bcc52444052535af691789dba2b9016d5c50640d68b3d"
+SRC_URI[tarballtest.sha256sum] = "5e47bbfad7db2965d69580e918ee64edeb8d8d32de404b8dae9ce5c6d76a1472"
 
 inherit pkgconfig binconfig ptest
 
 PACKAGECONFIG ??= "readline"
-PACKAGECONFIG[readline] = ",,readline"
+PACKAGECONFIG[readline] = ",,readline,readline"
 
 TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
 EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -fPIC' MYLDFLAGS='${LDFLAGS}' 'AR=ar rcD' 'RANLIB=ranlib -D'"
 
+do_configure:prepend:class-target() {
+    libreadline=$(ld --sysroot=${RECIPE_SYSROOT} -lreadline --verbose 2>&1 | grep succeeded | awk '{print $4}')
+    real_libreadline=$(readlink $libreadline)
+    sed -i -e "s/#define LUA_READLINELIB[[:space:]]*\"libreadline.*$/#define LUA_READLINELIB     \"$real_libreadline\"/g" src/luaconf.h
+}
+
 do_configure:prepend() {
     sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
     sed -i -e s:lib/lua/:${baselib}/lua/:g src/luaconf.h
 }
 
 do_compile () {
-    oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'readline', 'linux-readline', 'linux', d)}
+    oe_runmake linux
 }
 
 do_install () {
@@ -40,13 +46,13 @@ do_install () {
         'INSTALL_MAN=${D}${mandir}/man1' \
         'INSTALL_SHARE=${D}${datadir}/lua' \
         'INSTALL_LIB=${D}${libdir}' \
-        'INSTALL_CMOD=${D}${libdir}/lua/5.4' \
+        'INSTALL_CMOD=${D}${libdir}/lua/5.5' \
         install
     install -d ${D}${libdir}/pkgconfig
 
     sed -e s/@VERSION@/${PV}/ -e s#@LIBDIR@#${libdir}# -e s#@INCLUDEDIR@#${includedir}# ${UNPACKDIR}/lua.pc.in > ${S}/lua.pc
     install -m 0644 ${S}/lua.pc ${D}${libdir}/pkgconfig/
-    rmdir ${D}${datadir}/lua/5.4
+    rmdir ${D}${datadir}/lua/5.*
     rmdir ${D}${datadir}/lua
 }
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH V4] lua: upgrade from 5.4.8 to 5.5.0
  2026-03-05 10:54       ` [PATCH V4] " Changqing Li
@ 2026-03-06 10:18         ` Mathieu Dubois-Briand
  2026-03-09  6:07           ` [PATCH V5] " Changqing Li
  0 siblings, 1 reply; 10+ messages in thread
From: Mathieu Dubois-Briand @ 2026-03-06 10:18 UTC (permalink / raw)
  To: changqing.li, openembedded-core

On Thu Mar 5, 2026 at 11:54 AM CET, Changqing Li via lists.openembedded.org wrote:
> From: "Changqing Li via lists.openembedded.org" <changqing.li=windriver.com@lists.openembedded.org>
>
> Changes:
> https://www.lua.org/manual/5.5/readme.html#changes
>
> PLATS linux-readline is moved, and readline is changed to load
> dynamically, refer [1], keep readline as PACKAGECONFIG to allow user to
> remove readline dependency.
>
> Lua use dlopen by default, and LUA_READLINELIB is set to libreadline.so,
> but libreadline.so is in the dev package, which will make Lua cannot
> load libreadline even when libreadline is installed. Make readline as
> build dependency and detect the real libreadline name and set LUA_READLINELIB
>
> [1] https://github.com/lua/lua/commit/366c85564874d560b3608349f752e9e490f9002d
> [2] https://github.com/lua/lua/blob/master/lua.c#L520
>
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---

Hi Changqing,

Thanks for the new version, but I believe we have some errors with it:

ERROR: lua-5.5.0-r0 do_configure: Execution of '/srv/pokybuild/yocto-worker/qemux86-64-x32/build/build/tmp/work/x86_64_x32-poky-linux-gnux32/lua/5.5.0/temp/run.do_configure.1720879' failed with exit code 1

The do_configure log is not really verbose:

DEBUG: Executing python function extend_recipe_sysroot
NOTE: Direct dependencies are ['/srv/pokybuild/yocto-worker/qemux86-64-x32/build/layers/openembedded-core/meta/recipes-core/glibc/glibc_2.42.bb:do_populate_sysroot', '/srv/pokybuild/yocto-worker/qemux86-64-x32/build/layers/openembedded-core/meta/recipes-core/readline/readline_8.3.bb:do_populate_sysroot', '/srv/pokybuild/yocto-worker/qemux86-64-x32/build/layers/openembedded-core/meta/recipes-devtools/gcc/gcc-cross_15.2.bb:do_populate_sysroot', '/srv/pokybuild/yocto-worker/qemux86-64-x32/build/layers/openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_15.2.bb:do_populate_sysroot', '/srv/pokybuild/yocto-worker/qemux86-64-x32/build/layers/openembedded-core/meta/recipes-devtools/opkg-utils/opkg-utils_0.7.0.bb:do_populate_sysroot', '/srv/pokybuild/yocto-worker/qemux86-64-x32/build/layers/openembedded-core/meta/recipes-devtools/quilt/quilt-native_0.69.bb:do_populate_sysroot', 'virtual:native:/srv/pokybuild/yocto-worker/qemux86-64-x32/build/layers/openembedded-core/meta/recipes-devtools/patch/patch_2.8.bb:do_populate_sysroot', 'virtual:native:/srv/pokybuild/yocto-worker/qemux86-64-x32/build/layers/openembedded-core/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb:do_populate_sysroot', 'virtual:native:/srv/pokybuild/yocto-worker/qemux86-64-x32/build/layers/openembedded-core/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot']
NOTE: Installed into sysroot: []
NOTE: Skipping as already exists in sysroot: ['gettext-minimal-native', 'glibc', 'ncurses', 'readline', 'binutils-cross-x86_64', 'gcc-cross-x86_64', 'gcc-runtime', 'libgcc', 'libtool-native', 'm4-native', 'opkg-utils', 'quilt-native', 'texinfo-dummy-native', 'linux-libc-headers', 'zlib-native', 'flex-native', 'gnu-config-native', 'patch-native', 'pkgconfig-native', 'pseudo-native', 'xz-native', 'zstd-native', 'attr-native', 'gmp-native', 'libmpc-native', 'mpfr-native', 'sqlite3-native']
DEBUG: Python function extend_recipe_sysroot finished
DEBUG: Executing shell function do_configure
WARNING: exit code 1 from a shell command.

https://autobuilder.yoctoproject.org/valkyrie/#/builders/11/builds/3272
https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/3286
https://autobuilder.yoctoproject.org/valkyrie/#/builders/20/builds/3272
https://autobuilder.yoctoproject.org/valkyrie/#/builders/22/builds/3328
https://autobuilder.yoctoproject.org/valkyrie/#/builders/65/builds/3289

Can you have a look at this error?

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH V5] lua: upgrade from 5.4.8 to 5.5.0
  2026-03-06 10:18         ` [OE-core] " Mathieu Dubois-Briand
@ 2026-03-09  6:07           ` Changqing Li
  0 siblings, 0 replies; 10+ messages in thread
From: Changqing Li @ 2026-03-09  6:07 UTC (permalink / raw)
  To: openembedded-core

From: "Changqing Li via lists.openembedded.org" <changqing.li=windriver.com@lists.openembedded.org>

Changes:
https://www.lua.org/manual/5.5/readme.html#changes

PLATS linux-readline is moved, and readline is changed to load
dynamically, refer [1], keep readline as PACKAGECONFIG to allow user to
remove readline dependency.

Lua use dlopen by default, and LUA_READLINELIB is set to libreadline.so,
but libreadline.so is in the dev package, which will make Lua cannot
load libreadline even when libreadline is installed. Make readline as
build dependency and detect the real libreadline name and set LUA_READLINELIB

[1] https://github.com/lua/lua/commit/366c85564874d560b3608349f752e9e490f9002d
[2] https://github.com/lua/lua/blob/master/lua.c#L520

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 .../lua/{lua_5.4.8.bb => lua_5.5.0.bb}        | 22 +++++++++++++------
 1 file changed, 15 insertions(+), 7 deletions(-)
 rename meta/recipes-devtools/lua/{lua_5.4.8.bb => lua_5.5.0.bb} (71%)

diff --git a/meta/recipes-devtools/lua/lua_5.4.8.bb b/meta/recipes-devtools/lua/lua_5.5.0.bb
similarity index 71%
rename from meta/recipes-devtools/lua/lua_5.4.8.bb
rename to meta/recipes-devtools/lua/lua_5.5.0.bb
index 1d37cddeb8..905dd01001 100644
--- a/meta/recipes-devtools/lua/lua_5.4.8.bb
+++ b/meta/recipes-devtools/lua/lua_5.5.0.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Lua is a powerful light-weight programming language designed \
 for extending applications."
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=305;endline=326;md5=0e573c143cb6491b41cf02cfbcb8c267"
+LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=299;endline=320;md5=0e573c143cb6491b41cf02cfbcb8c267"
 HOMEPAGE = "http://www.lua.org/"
 
 SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
@@ -12,24 +12,32 @@ SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
 # if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release.
 PV_testsuites = "${PV}"
 
-SRC_URI[tarballsrc.sha256sum] = "4f18ddae154e793e46eeab727c59ef1c0c0c2b744e7b94219710d76f530629ae"
-SRC_URI[tarballtest.sha256sum] = "9581d5a7c39ffbf29b8ccde2709083c380f7bbddbd968dcb15712d2f2e33f4e5"
+SRC_URI[tarballsrc.sha256sum] = "57ccc32bbbd005cab75bcc52444052535af691789dba2b9016d5c50640d68b3d"
+SRC_URI[tarballtest.sha256sum] = "5e47bbfad7db2965d69580e918ee64edeb8d8d32de404b8dae9ce5c6d76a1472"
 
 inherit pkgconfig binconfig ptest
 
 PACKAGECONFIG ??= "readline"
-PACKAGECONFIG[readline] = ",,readline"
+PACKAGECONFIG[readline] = ",,readline,readline"
 
 TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
 EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -fPIC' MYLDFLAGS='${LDFLAGS}' 'AR=ar rcD' 'RANLIB=ranlib -D'"
 
+do_configure:prepend:class-target() {
+    libreadline=$(find "${RECIPE_SYSROOT}" -name libreadline.so)
+    if [ -n "$libreadline" ] && [ -L "$libreadline" ]; then
+        real_libreadline=$(readlink "$libreadline")
+        sed -i -e "s/#define LUA_READLINELIB[[:space:]]*\"libreadline.*$/#define LUA_READLINELIB     \"$real_libreadline\"/g" src/luaconf.h
+    fi
+}
+
 do_configure:prepend() {
     sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
     sed -i -e s:lib/lua/:${baselib}/lua/:g src/luaconf.h
 }
 
 do_compile () {
-    oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'readline', 'linux-readline', 'linux', d)}
+    oe_runmake linux
 }
 
 do_install () {
@@ -40,13 +48,13 @@ do_install () {
         'INSTALL_MAN=${D}${mandir}/man1' \
         'INSTALL_SHARE=${D}${datadir}/lua' \
         'INSTALL_LIB=${D}${libdir}' \
-        'INSTALL_CMOD=${D}${libdir}/lua/5.4' \
+        'INSTALL_CMOD=${D}${libdir}/lua/5.5' \
         install
     install -d ${D}${libdir}/pkgconfig
 
     sed -e s/@VERSION@/${PV}/ -e s#@LIBDIR@#${libdir}# -e s#@INCLUDEDIR@#${includedir}# ${UNPACKDIR}/lua.pc.in > ${S}/lua.pc
     install -m 0644 ${S}/lua.pc ${D}${libdir}/pkgconfig/
-    rmdir ${D}${datadir}/lua/5.4
+    rmdir ${D}${datadir}/lua/5.*
     rmdir ${D}${datadir}/lua
 }
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-03-09  6:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-24  2:46 [PATCH V2] lua: upgrade from 5.4.8 to 5.5.0 Changqing Li
2026-02-26 13:37 ` [OE-core] " Ross Burton
2026-02-27  7:07   ` Changqing Li
2026-02-27  7:08   ` [PATCH V3] " Changqing Li
2026-03-03 15:16     ` [OE-core] " Ross Burton
2026-03-04  7:23       ` Changqing Li
2026-03-04 17:58         ` Ross Burton
2026-03-05 10:54       ` [PATCH V4] " Changqing Li
2026-03-06 10:18         ` [OE-core] " Mathieu Dubois-Briand
2026-03-09  6:07           ` [PATCH V5] " Changqing Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox