-
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
Package eliom.6.9.2 #15352
Package eliom.6.9.2 #15352
Conversation
@kit-ty-kate I'm having trouble with the revdeps. CI is trying to install ocsigen-toolkit.2.2.0 and ocsigen-toolkit.2.3.2 (and fails) even though there are fixed versions available: ocsigen-toolkit.2.2.1 and ocsigen-toolkit.2.3.3. |
@jrochel as stated in one of your previous PR, the failing packages need to be fixed as their dependency constraints were not restrictive enough. Any packages that you add to opam-repository will always be around and available to install by users, they need to be fixed as well in occasion. As opam-repository maintainers we can do this, however it takes a lot of time and it is usually better for the package maintainer themselves to do it as they usually are more knowledgable about what needs to be fixed in their packages. |
Is the official opam policy really to overwrite existing versions with fixed ones? I don't like that approach at all because it might lead to situations where some user says: "I can't install ocsigen-toolkit.2.2.0" and I have to reply: "Which version of ocsigen-toolkit.2.2.0" were you trying to install, the one that you downloaded before or after 11/10/2019 13:44 UTC?" |
Yes. The thing is that your package is broken right now, you will get users saying this in any case. Those packages are still installable and it is policy to not remove them. Opam does not have "revisions" and thus if one package is missing it might break things for people using If packages are broken it is my problem and users' problem. For now we don't have a way of dealing with this. If you have some insights them please don't hesitate to open an issue on opam's issue tracker or add your voice to this issue: #10531 Please consider fixing your packages in the meantime though. If you don't have time I will do it but if you have I would probably better off doing something else. |
@kit-ty-kate: I created an issue to discuss the above problem: #15392 |
@jrochel wrote:
To clarify, there is a difference between the package contents and the opam metadata. The contents are considered immutable for a given version, but the metadata (e.g. package constraints, description, conflicts, etc. in an opam file) are regularly updated to reflect the environment in which users install a particular package. For example, it is common to add an upper bound to packages when an incompatible version of some dependency is added, so that already released packages do not break for users. In the case of your PRs, it looks like you have also updated the package contents (the archive). This is frowned upon in opam-repository, since it adversely affects caching among other things. |
Thanks. Are these things documented somewhere? |
We're working on new package submission infrastructure that mechanises this policy (as the "camelus" bot does for some metadata at the moment). It's not explicitly written down anywhere else, but contributions welcome to kickstart an effort to do so. |
All green, thanks |
eliom.6.9.2
Client/server Web framework
Eliom is a framework for implementing client/server Web applications. It introduces new concepts to simplify the implementation of common behaviors, and uses advanced static typing features of OCaml to check many properties of the Web application at compile-time. Eliom allows implementing the whole application as a single program that includes both the client and the server code. We use a syntax extension to distinguish between the two sides. The client-side code is compiled to JS using Ocsigen Js_of_ocaml.
🐫 Pull-request generated by opam-publish v2.0.0