Paul Gevers <elb...@debian.org> writes:

> So, vanish stopped providing vanishabi-11.0 and vanish-modules needs
> to be fixed, otherwise vanish is not allowed to migrate to testing
> (until vanish-modules is removed from testing). vanish-modules in
> unstable is broken now, we don't want that to happen in testing.

Hello,

The varnish-modules package fails to build due to the build erroring out
on deprecated functions. The varnishabi bump should have happened in
6.5.0 but the 6.5.1 was released soon after to only bump the varnish
version.

Example from the build of varnish-modules against varnish 6.5.1:

,----
| libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time 
-D_FORTIFY_SOURCE=2 -I/usr/include/varnish -I../src/foreign -Wall -Werror -Wall 
-Wno-format-y2k -Wstrict-prototypes -Wmissing-prototypes 
-Werror=missing-field-initializers -Wpointer-arith -Wreturn-type 
-Wwrite-strings -Wcast-qual -Wswitch -Wshadow -Wunused-parameter -Wcast-align 
-Wchar-subscripts -Wnested-externs -Wextra -Wno-sign-compare -g -O2 
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-security -c vcc_saintmode_if.c  -fPIC -DPIC -o 
.libs/vcc_saintmode_if.o
| vmod_bodyaccess.c: In function ‘vmod_hash_req_body’:
| vmod_bodyaccess.c:205:2: error: ‘VSB_delete’ is deprecated 
[-Werror=deprecated-declarations]
|   205 |  VSB_delete(vsb);
|       |  ^~~~~~~~~~
| In file included from /usr/include/varnish/cache/cache_varnishd.h:36,
|                  from vmod_bodyaccess.c:37:
| /usr/include/varnish/vsb.h:79:8: note: declared here
|    79 | void   VSB_delete(struct vsb *) v_deprecated_;
|       |        ^~~~~~~~~~
`----

The upstream changelog for varnish 6.5.0 says:

,----[ 
https://github.com/varnishcache/varnish-cache/blob/master/doc/changes.rst ]
| * VSB support for dynamic vs. static allocations has been changed:
| 
|   For dynamic allocations use:
| 
|     VSB_new_auto() + VSB_destroy()
| 
|   For preexisting buffers use:
| 
|     VSB_init() + VSB_fini()
| 
| VSB_new() + VSB_delete() are now deprecated.
`----

Varnish-modules uses VSB_new_auto() and VSB_delete() in vmod_bodyaccess
and vmod_saintmode. The long term is obviously for varnish-modules to
use one of the new VSB_ functions for allocations.

I'm not sure what is the best short term fix. Any suggestions? My C
skills are abysmal, so while I could probably get it to build, I'd not
be comfortable with pushing the result...

-- 
Stig Sandbeck Mathisen

Attachment: signature.asc
Description: PGP signature

Reply via email to