Source: nginx
Version: 1.24.0-2
Severity: serious
User: debian-...@lists.debian.org
Usertags: time-t
X-Debbugs-Cc: Sebastian Ramacher <sramac...@debian.org>, Steve Langasek 
<vor...@debian.org>
Control: block 1069482 with -1

While looking into #1069482 (libnginx-mod-http-lua: FTBFS on armhf) I
noticed that nginx has a NGX_MODULE_SIGNATURE string which is required
to match between server and modules. This string has been changed by the
t64 transition, but the substvar ${nginx:abi} describing the abi for
package relationships has not been changed.

nginx_1.24.0-2+b1_armhf.deb -> 4,4,4,0011111111010111001111111111111111
nginx_1.24.0-2+b2_armhf.deb -> 4,4,8,0011111111010111001111111111111111
(I used 'strings usr/sbin/nginx | grep 11111111111' to get them from the
binaries)

NGX_MODULE_SIGNATURE is defined in src/core/ngx_module.h and starts with
    ngx_value(NGX_PTR_SIZE) ","                                               \
    ngx_value(NGX_SIG_ATOMIC_T_SIZE) ","                                      \
    ngx_value(NGX_TIME_T_SIZE) ","

I'd suggest bumping the substvar in debian/libnginx-mod.abisubstvars to
e.g. nginx-abi-1.24.0-1t64 and rebuilding all modules. Maybe that's
already sufficient for fixing #1069482.


Andreas

PS: could something automatically generated from $(DEB_VERSION_UPSTREAM)
and NGX_MODULE_SIGNATURE (s/,/-/g) (and maybe an optional suffix) be
used for the abi substvar?

Reply via email to