@Michael Soegtrop I want to remind about version naming conventions, if there will be indeed be some meta opam packages: https://github.com/MSoegtropIMC/coq-platform/issues/22
Karl Palmskog said:
Michael Soegtrop I want to remind about version naming conventions, if there will be indeed be some meta opam packages: https://github.com/MSoegtropIMC/coq-platform/issues/22
Yes, in opam I will name versions with +, but for the tags I think I keep the dot. Unless you find this confusing ...
@Michael Soegtrop the problem is not the dot in itself, but the additional minor version number. For example, 8.11+alpha3
will be before 8.11.0
, but 8.11.2+alpha3
will be after 8.11.2
for example, here is how I believe it should be for 8.13, in chronological and opam order:
8.13+alpha1, 8.13+alpha2, 8.13.0, 8.13.1
Karl Palmskog said:
Michael Soegtrop the problem is not the dot, but the additional minor version number. For example,
8.11+alpha3
will be before8.11.0
, but8.11.2+alpha3
will be after8.11.2
Semantically I mean this is an alpha3 version for Coq platform for Coq 8.11.2. I can imagine that I will have a 8.13.beta1.beta1 version. I can also imagine that in the future every coq platform minor version has a coq platform beta version because the package picking might be controversial. Of cause it is not yet discussed if we take anything else than bug fixes in minor releases.
I think it might be
8.13.beta1.beta1, 8.13.beta1, 8.13.0.beta1, 8.13.0, 8.13.1.beta1, 8.13.1
$ dpkg --compare-versions 8.13.0 lt 8.13.0.beta1 && echo true
true
Well in opam I will name it 8.13.0~beta1. But since this is opam specific, I don't see why I should name the tags like this.
so there is going to be a different version naming scheme in opam on the one hand, and on GitHub (tags) and in the documentation on the other?
As I said, I think the version numbering with ~ and + in opam is a bit artificial, so I would prefer to just have dots in the tags.
Btw.: why is the name for Coq beta e.g. 8.11+beta and not 8.11~beta? Is the idea that '+'<'0'?
the scheme with X.YY+alpha and X.YY+betaZ and X.YY.0 for Coq was carefully selected to fit both opam and other packaging systems such as Nix. More background here: https://github.com/coq/coq/pull/483
Karl Palmskog said:
the scheme with X.YY+alpha and X.YY+betaZ and X.YY.0 for Coq was carefully selected to fit both opam and other packaging systems such as Nix. More background here: https://github.com/coq/coq/pull/483
OK, I can change it. Should I rename the existing tags?
But I guess when the plan is to add a beta to the existing Coq version name, I have to add it with ~beta and not +beta, because I do not intend to replace it with a .0. Do you think this is a problem?
maybe @Théo Zimmermann can advise. I don't want to force any scheme on the platform, I'm just worried about packaging and version ordering. Since Theo views distro packaging as one important aspect, I think he may have an opinion about GitHub tags vs. document version numbers vs. opam versions vs. Nix versions.
to give one recent example about version ordering: We have coq-metacoq.1.0~alpha+8.9
and coq-metacoq.1.0~alpha2+8.11
. When someone who hasn't pinned Coq and uses Coq 8.11 runs opam install coq-metacoq
, he is prompted to downgrade Coq to 8.9.1.
I think that as long as the version scheme is not decided upon (after being discussed sufficiently to be confident that all stakes have been covered), there should not be any release to the main opam repos and the platform should be considered experimental to the point that tags may be removed in the future. I don't think we should rush any decision at this point.
Last updated: Jun 03 2023 at 04:30 UTC