-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
conf-* packages shouldn't be upgraded #10164
Comments
Also, even in the OPAM documentation it is said:
But it looks like that this is no longer true, as, just using opam install without criteria, would try to upgrade the whole world, while if I specify criteria as they are specified in documentation, then I will have a sane behavior:
So it looks like that this documentation page is no longer true. It looks like that the install criteria are:
where the upgrade is
|
Note that opam v2 has the ability to specify that a package is a |
Yep, so the next step is to apply a special criterium to them, something like "do not touch". |
Maybe this should be reported there. |
You mean in opam itself? Yeah, this is a good point. |
So, if we will not confuse the system package versions with the opam conf package version, like it is described here, then there is no need for special treatment of the conf-* packages. If everyone will agree with the |
Is "pinning" not suitable for you ? |
Doesn't that become a bit unwieldy ? |
I'm trying to make installation of my package as smooth as possible. Basically, it should be one command. If an installation of a package requires a user to perform commands, then basically it means that we are missing some capabilities in the package manager. It is the responsibility of the package manager to resolve all the dependencies. P.S. Of course I know, how to force opam to behave as I like, by just setting the right criteria to the ASP solver. So I'm not looking for a workaround, I'm pointing that there is some problem with the idea of conf-* packages. |
That's what I'm trying to figure out. |
I really think this should be discussed on |
@dbuenzli, I agree, would you like me to reopen this issue on opam's bug tracker? |
Yes I think it's better to do so. This tracker is for issue about the OCaml opam repository itself. If you think your issue can be solved by changing how the OCaml opam repository is structured then keep it open otherwise, I'd suggest you to close this and move the discussion to the |
moved to ocaml/opam#3035 |
The default policy in OPAM is to maximize versions of installed packages, that makes sense with the packages that are distributed with OPAM, but is wrong, however, when we are dealing with the conf-packages that represent (a) system configuration and (b) set of available system packages. When a user installs
conf-llvm.XXX
version, that is not the latest, this is a user way of saying to us: "Guys, I want this XXX version, not the latest, maybe because I don't have the latest in the system".As an example, consider the following interaction, we will use bap in the example, that supports llvm 3.4,3.8, and 4.0. However, we are installing on a system that has only 3.8.
OK, let's constraint it
This works, but suppose a user is trying to install another package, totally independent of bap, e.g.,
merlin
:This will break bap since it again will try to upgrade conf-llvm and recompile the whole bap.
So, what I'm thinking of, is it possible:
P.S. of course I'm well aware, that I can specify my own criteria using the command line and environment variables, but my concern are regular users (students), who will try to install bap in their system and to whom both OCaml and OPAM are totally new ideas, and such behavior will piss them off.
P.P.S. (this is the reason why we had conf-bap-llvm)
The text was updated successfully, but these errors were encountered: