Skip to content
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

Merged
merged 1 commit into from
Nov 28, 2019
Merged

Conversation

jrochel
Copy link
Contributor

@jrochel jrochel commented Nov 21, 2019

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

@jrochel
Copy link
Contributor Author

jrochel commented Nov 21, 2019

@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.

@kit-ty-kate
Copy link
Member

@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.

@jrochel
Copy link
Contributor Author

jrochel commented Nov 25, 2019

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?"
In my mind the last component of the version number serves to distinguish exactly that: bugfixes and compatibility issues.

@kit-ty-kate
Copy link
Member

Is the official opam policy really to overwrite existing versions with fixed ones?

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 opam lock for instance.

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.

@jrochel
Copy link
Contributor Author

jrochel commented Nov 25, 2019

#15391
#15390
#15389
#15388

@jrochel
Copy link
Contributor Author

jrochel commented Nov 25, 2019

@kit-ty-kate: I created an issue to discuss the above problem: #15392

@kit-ty-kate
Copy link
Member

#15391
#15390
#15389
#15388

I'm sorry I don't understand the changes. Why did the archives change? This breaks even more the repository instead of fixing it. opam publish should not be used as a tool to fix packages.

@camelus
Copy link
Contributor

camelus commented Nov 25, 2019

Commit: 1312fbc

A pull request by opam-seasoned @jrochel.

☀️ All lint checks passed 1312fbc
  • These packages passed lint tests: eliom.6.9.2

☀️ Installability check (+1)
  • new installable packages (1): eliom.6.9.2

@avsm
Copy link
Member

avsm commented Nov 25, 2019

@jrochel wrote:

Is the official opam policy really to overwrite existing versions with fixed ones?

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.

@jrochel
Copy link
Contributor Author

jrochel commented Nov 26, 2019

Thanks. Are these things documented somewhere?

@avsm
Copy link
Member

avsm commented Nov 26, 2019

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.

@kit-ty-kate
Copy link
Member

All green, thanks

@kit-ty-kate kit-ty-kate merged commit e49ca79 into ocaml:master Nov 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants