fix failure when the system compiler has a '+' in its version string#1999
fix failure when the system compiler has a '+' in its version string#1999damiendoligez wants to merge 1 commit intoocaml:masterfrom
Conversation
|
Hm, if this is a problem, we need to sort it out (before 1.2.1). I think having comparison on compiler versions behave differently from comparison on package versions is a pretty bad idea.
¹ Well, unless we change the global meaning of the version comparison |
|
Could you provide a reference on the version comparison opam implements for packages ? I'm sure you provided doc about this at a certain point but I can't find it anymore. |
|
It's in the FAQ |
Especially if compiler as packages become a reality. |
|
Ah! I finally located the real source of this error (thanks to the "allowed" failure at https://travis-ci.org/ocaml/opam/builds/50899181): OPAM itself generates the Thanks a lot @planar for noticing this and pushing me in the right direction. This is quite messy, I'll try to find a sane way to solve this:
|
|
Just filed a PR to fix this, at least on the surface since we're already in beta stage: the version reported by Note that this means that a change in suffix of the system OCaml version won't trigger a reinstall. I believe that was already the case (well, we can suppose people installing dev versions of OCaml know that it happened and can do a I would like, as mentionned above and for consistency, to have the system compiler be defined with its complete version in the name rather than just "system" ; but that would be quite a change, and raises some concerns (the name is used as a key throughout, and you'd need a way to specify wether you want the system switch or the source switch with the same version when creating a new switch). This is not a problem after installation since compilers are referred to by their aliases. There is also some special magic that allows you to write tests like |
Note I'll be very sad if you do that, because I won't be able to use an unmodified OPAM to test development versions of the compiler. Unless you provide a switch to truncate the compiler version. |
|
@planar: yes, that's precisely why I wanted to avoid it. You should be fine now, same behaviour as before except that when you write a .comp by hand, you should explicitely not put You won't yet be able to easily access the complete |
This bug is a consequence of a2f6ca1, which fixes #1946.
All the Travis builds of OCaml are currently failing because opam (wrongly) refuses compiler version strings that contain '+'.