Source: nginx
Version: 1.24.0-2
Severity: serious
User: [email protected]
Usertags: time-t
X-Debbugs-Cc: Sebastian Ramacher <[email protected]>, Steve Langasek
<[email protected]>
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?