Bug#1069997: nginx: NGX_MODULE_SIGNATURE has changed on 32-bit t64 architectures, but the ${nginx:abi} substvar has not

2024-04-30 Thread Jan Mojzis
Thanks for the report,
I am preparing nginx release 1.26.0, and the updated ABI version will be part 
of it.

Jan


Bug#1069997: nginx: NGX_MODULE_SIGNATURE has changed on 32-bit t64 architectures, but the ${nginx:abi} substvar has not

2024-04-28 Thread Andreas Beckmann
Source: nginx
Version: 1.24.0-2
Severity: serious
User: debian-...@lists.debian.org
Usertags: time-t
X-Debbugs-Cc: Sebastian Ramacher , Steve Langasek 

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,0001011100
nginx_1.24.0-2+b2_armhf.deb -> 4,4,8,0001011100
(I used 'strings usr/sbin/nginx | grep 111' 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?