lua: look for lua5.4 modules under /usr instead of /usr/local

luaconf.h hardcodes LUA_ROOT to "/usr/local/", and nothing in this
package overrides it for the target build, so the interpreter only ever
searches /usr/local/{share,lib}/lua/5.4. Nothing installs there on
OpenWrt, which leaves every Lua 5.4 module package unreachable:

  # lua5.4 -e 'require "lfs"'
  lua5.4: module 'lfs' not found:
          no file '/usr/local/share/lua/5.4/lfs.lua'
          no file '/usr/local/lib/lua/5.4/lfs.so'
          [...]
  # find / -name lfs.so
  /usr/lib/lua/5.4/lfs.so

Point LUA_ROOT at /usr. LUA_LDIR and LUA_CDIR are derived from it and
keep the version suffix, so the search paths become /usr/share/lua/5.4
and /usr/lib/lua/5.4 - exactly where the Lua 5.4 module packages
install. The core lua (5.1) package carries an equivalent patch.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
This commit is contained in:
Alexandru Ardelean authored and Alexandru Ardelean committed 2026-07-31 09:46:08 +03:00
1 parent 664df2843a
commit 3fe92e63f5
2 files changed
+26 -1

No files matched your search

+1 -1
View File
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=lua
PKG_VERSION:=5.4.7
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.lua.org/ftp/ \
@@ -0,0 +1,25 @@
From dd82c673231224361dc9ec3cd2861418fd4ce731 Mon Sep 17 00:00:00 2001
From: Alexandru Ardelean <alex@shruggie.ro>
Date: Wed, 22 Jul 2026 14:52:14 +0300
Subject: [PATCH] lua5.4: point LUA_ROOT at /usr for OpenWrt module paths
luaconf.h hardcodes LUA_ROOT to /usr/local/, where nothing installs on
OpenWrt; point it at /usr/ so modules under /usr/{share,lib}/lua/5.4/
are found.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
---
src/luaconf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/src/luaconf.h
+++ b/src/luaconf.h
@@ -223,7 +223,7 @@
#else /* }{ */
-#define LUA_ROOT "/usr/local/"
+#define LUA_ROOT "/usr/"
#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"