Hi,

On Tue, 14 Jul 2026 23:57:01 +0200 =?utf-8?b?SsOpcsOpbXkgTGFs?= 
<[email protected]> wrote:
> Package: lua-resty-core
> Version: 0.1.32-1
> Severity: important
> 
> Hi,
> 
> AFAIUI resty-core doesn't depend on libnginx-mod-http-lua ?

It uses LuaJIT FFI to call C functions exported by a
specific ngx_http_lua_module version. Upstream therefore performs an exact
version check when resty.core is loaded.

For example, lua-resty-core 0.1.32 contains the following check in
lib/resty/core/base.lua:

     if subsystem == 'http' then
         if not ngx.config
            or not ngx.config.ngx_lua_version
            or ngx.config.ngx_lua_version ~= 10029
         then
             error("ngx_http_lua_module 0.10.29 required")
         end
     end

This is an equality check, not a minimum-version check. The corresponding
upstream compatibility pairs are currently:

     lua-resty-core 0.1.32  <-> ngx_http_lua 0.10.29
     lua-resty-core 0.1.33  <-> ngx_http_lua 0.10.30
     lua-resty-core 0.1.34  <-> ngx_http_lua 0.10.31
     lua-resty-core 0.1.35  <-> ngx_http_lua 0.10.32


> 
> If I don't understand well, at least I find it dubious that
> lua-resty-core:amd64 Depends libnginx-mod-http-lua (< 1:0.10.29.1~)
> 
> The reverse is true, though. The nginx lua module should have a tight
> dependency on lua-resty-core.

Hmm, the dependency is incorrect. That lower bound is insufficient :(


To avoid circular dependencies,
fix can be:  fix dependencies in libnginx-mod-http-lua and add ‘Breaks’ to  
lua-resty-core,

  lua-resty-core:

   Depends:
    libluajit-5.1-2,
  - libnginx-mod-http-lua (<< 1:0.10.29.1~),
  - libnginx-mod-http-lua (>= 1:0.10.29),
    lua-resty-lrucache (>= 0.13-11),
  +Breaks:
  + libnginx-mod-http-lua (<< 1:0.10.29),

  
libnginx-mod-http-lua:

  -Depends: lua-resty-core (>= 0.1.32),
  +Depends:
  + lua-resty-core (>= 0.1.32),
  + lua-resty-core (<< 0.1.32.1~),



Jan

Reply via email to