-
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Releases, tags, branches, etc #9
Comments
Hi @ernestojpg
|
Hi @nigoroll !
By the way, congratulations for your great work with this module. Regards. |
Hi Ernesto, |
There's an unfortunate conflict between tagging/versioning the present fork, and maintaining the versioning from upstream. Tbh I don't what the hell to do about that. I strongly recommend making no attempt whatsoever to make the VMOD version names resemble the Varnish version names, with something like
|
So IMO (sorry, I can't stop with this), make the VMOD versioning all about what goes on in the VMOD project itself. And document compatibility with Varnish versions by other means. Most projects with APIs these days seem to be settling on the "semantic versioning" concept:
Since a VMOD presents an API to VCL authors, I think this is just right. |
Hi @nigoroll , @slimhazard , Thanks for your comments. Imagine that you want to release version I would suggest to at least add a reference to the major varnish version that this VMOD is compatible with. For example:
Or if you want to decouple this VMOD from the original varnish-modules repo, we could use, for example:
What do you think? Thank you very much for this debate :) Regards. |
@ernestojpg, I too appreciate the conversation, so I hope you'll take it as friendly and respectful discord when I still say Just Say No. %^) I didn't say don't use Varnish's micro version numbers, I said don't use any part of the Varnish version number at all in the VMOD version numbers. Absolutely positively none of it. The format you've suggested interferes with the versioning schemes used by RPMs and deb packages, and install tools like Both RPM and deb expect a format like this (deb also has an optional
The Again: Also, using On the other hand, maybe a VMOD version does have to change due to the change of a Varnish micro version. That's unusual, but it certainly can and has happened. In that case, a Whether or not a VMOD has to change due to changes in the Varnish major, minor or micro version is quirky and unpredictable. It depends on what the VMOD does, and which parts of the internal Varnish APIs it uses (Varnish development has little compunction about changing internal APIs that break VMODs). That largely depends on what the VMOD is for, and they're all different. "I want to see the compatible Varnish version number in the VMOD version number" is a short-sighted goal, doesn't see through to the bad consequences or the range of actual possibilities, and attempts to solve a problem that is much better solved by other means. Worth mentioning that I've run into many of these problems over the years, and have learned the hard way that the "Varnish version in the VMOD version" idea is fundamentally flawed from the ground up. We can avoid a lot of headaches by getting it right from the start. I admit that I'm ranting here a bit (more than a bit), and that comes from not wanting to predictably repeat a mistake that I've regretted in the past. So, Just Say No. I'm not saying use 0.1% or 0.01% of Varnish version names in VMOD version names, I'm saying use exactly 0.0%. Never ever, none whatsoever, never again. |
This of course popped up again with the newly released varnish-6.5.0. I maintain varnish and varnish-modules in Fedora. I'm considering switching to this repo as upstream for my varnish-modules package. As expected, I'm also a bit puzzled on how to work with modules on different targets. First, the %release tag in rpm may include any alphanumeric and a few other characters, meaning schemes like these are valid:
or even
From my egoistic point of view, the best had of course been if a main branch with timely releases had just compiled against all supported variants of varnish. Then, while building the package, I may just make the varnish-modules package depend on the varnish version it is built against. Keeping different version combos of varnish/varnish-modules in different repos, yum/dnf will figure out the rest while installing. This way I may happily forget about using the varnish version in the varnish-modules package name. Ingvar (Btw, rpm also has the concept of epoch. It is just seldom used, and avoided when possible) |
Hi all,
If I understood correctly this project is a fork of the original varnish-modules one, that will try to keep the project up-to-date.
Regarding this, I have a couple of questions:
Regards.
The text was updated successfully, but these errors were encountered: