Code Monkey home page Code Monkey logo

Comments (9)

Dridi avatar Dridi commented on June 3, 2024

Hey,

Thanks for the feedback. I've seen the tp2 announcement but haven't had time yet to test it. I am willing to support Varnish 3 as long as it will be supported upstream. Can you please enumerate the breaking changes you've found ? It will save me some time.

Dridi

from libvmod-querystring.

gdlx avatar gdlx commented on June 3, 2024

One big change is that you don't need to specify VARNISHCRC with ./configure anymore, because you don't need a source directory anymore.

Varnish source is provided by vmodtool.py, which also provides includes.

Here you can see a commit of a conversion I've made for another VMOD: https://github.com/porecreat/libvmod-boltsort/commit/481751c800eff411b7ff1180e91f304004e7251d

Your changes made to C source files should be working if you can provide the same VARNISH_MAJOR variable.

Note that it's just based on libvmod-header v4.0 conversion, which has been directly done for tp2.

Obviously, all vmods developers will want to support v3.0 vmods for a while. Varnish Software VMODs maintainers have simply created a 3.0 branch before upgrading their sources.

This makes 2 branches to support but each branch is simpler than a single branch compatible with both versions...(your VMOD is the only one I've seen in this case, but 4.0-tp1 was closer from 3.0 than 4.0-tp2).

from libvmod-querystring.

Dridi avatar Dridi commented on June 3, 2024

Thanks for the detailed information. I've started playing with varnish 4 last april, and in the mean time I've suffered several breaking changes. This is of course OK since I decided to integrate the VMOD against work in progress :)

If it becomes too complicated to maintain both Varnish 3 and 4 compatibility, I'll consider a new 3.0 branch but I'd rather avoid that.

Thank you again, this will probably save me a lot of time once I find some to catch up.

from libvmod-querystring.

Dridi avatar Dridi commented on June 3, 2024

The VMOD builds fine against varnish/Varnish-Cache@d9cc0a7 (including tests). I'll keep this issue open until I know for sure whether this might be a problem or not.

from libvmod-querystring.

gdlx avatar gdlx commented on June 3, 2024

It does indeed build on tp2 by providing VARNISHSRC, which I had not tried before because I thought using the new vmodtool.py was mandatory for tp2+ vmods...

from libvmod-querystring.

Dridi avatar Dridi commented on June 3, 2024

The build system actually uses vmodtool.py, which is why I don't feel completely safe and keep the issue open. I should probably use pkgconfig to retrieve the source directory instead of VARNISHSRC for Varnish 4. Sounds like a lot of autoconf fun :(

from libvmod-querystring.

RWOverdijk avatar RWOverdijk commented on June 3, 2024

Any news? Does this work with varnish 4?

from libvmod-querystring.

gdlx avatar gdlx commented on June 3, 2024

As on TP2, it does build and works well on Varnish 4.0.0, 4.0.1 and master by providing VARNISHSRC as in v3. The only thing is that v4 easy build way is not used yet but it's not a big issue.

from libvmod-querystring.

Dridi avatar Dridi commented on June 3, 2024

With Varnish 4.1 being close to a release and the end of life of Varnish 3, in the next release I will change APIs to take advantages of Varnish 4+ features and get rid of the general complexity that V3+V4 support incurs.

This vmod has worked with Varnish 4 since the very first preview, with no changes in the code base. This issue can be closed now :)

from libvmod-querystring.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.