Files
packages/lang/lua/lua5.4/patches/200-lua-path.patch
T
Alexandru Ardelean 3fe92e63f5 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>
2026-07-31 09:46:08 +03:00

26 lines
753 B
Diff

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 "/"