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?