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

update mathcomp packages #1243

Merged
merged 1 commit into from
Apr 16, 2020
Merged

Conversation

affeldt-aist
Copy link
Contributor

for the release of version 1.11.0+beta1

@affeldt-aist affeldt-aist force-pushed the mathcomp-1.11.0+beta1 branch from cf36552 to 3ca9a4d Compare April 15, 2020 17:23
@gares gares merged commit e5a5ce2 into coq:master Apr 16, 2020
@silene
Copy link
Contributor

silene commented Apr 16, 2020

Wasn't there some kind of rule that said that beta versions were supposed to go into the extra-dev directory rather than the released directory?

@affeldt-aist
Copy link
Contributor Author

affeldt-aist commented Apr 16, 2020

This is a beta for users that we will keep as it is (so that users can build and rely on it), this is why we didn't put it in extra-dev (in our opinion extra-dev is for people who want to use the daily state of a repo).

@silene
Copy link
Contributor

silene commented Apr 16, 2020

The issue is that, if a user naively types opam install coq-mathcomp-foo, they will get a beta package, which is not the intent of the released repository. Beta packages should only be installed if the user explicitly opts in for them. As stated by the description of the repository, it "contains packages ... that were officially released".

Before this pull request, only 3 packages had made the mistake of putting beta packages inside released. After this pull request, there are now 9 packages!

@CohenCyril
Copy link
Contributor

Is it okay to revert a commit in this repository?

@clarus
Copy link
Contributor

clarus commented Apr 16, 2020

Is it okay to revert a commit in this repository?

I would say yes, this has been done in the past (with git revert and no rebase).

@affeldt-aist
Copy link
Contributor Author

This should be fixed by PR #1244.

@gares
Copy link
Member

gares commented Apr 18, 2020

released versions should be in released.
extra-dev is for .dev packages. this is what the doc says.

@gares
Copy link
Member

gares commented Apr 18, 2020

If it is not clear, please amend https://coq.inria.fr/opam-layout.html

@gares
Copy link
Member

gares commented Apr 18, 2020

and just to be clear, extra-dev is for CI, you want beta packages to reach users. otherwise what is the point?

I guess we should update the doc.

@silene
Copy link
Contributor

silene commented Apr 18, 2020

extra-dev is for .dev packages. this is what the doc says.

No, it says: "The repository contains packages for development versions of external contributions to Coq. Typically .dev packages following the branches of the extension."

Notice the word "typically". It is not written "only" or some other synonymous. It is written "typically"!

And, as I already quoted, the "released" repository contains things that were "officially released". A beta version is not an official release.

@gares
Copy link
Member

gares commented Apr 18, 2020

And, as I already quoted, the "released" repository contains things that were "officially released". A beta version is not an official release.

I'm very sorry the text is unclear. I wrote it. To me a beta is an official release, it is announced and has a version number.

The point of splitting the repo is because .dev package change their contents depending on the upstream branch, read moon phase, so they are only useful for CI tracking a branch and not user consumption.

I'm not a fan of repositories were all versions of a package stay (as OPAM does). At the beginning of the Coq+OPAM thing I proposed I much stricter layout, where we would have different repos for different Coq versions, only containing backward compatible updates. I did not manage to convince the others, so we got this hybrid model, where only .dev packages are segregated.

Again, I'm not defending this model, but if you don't pick a specific version of a package it is always the case that opam install foo installs the most recent version of foo, be it a beta, rc or final. And even a final can break things, there is no guarantee. So I don't see the problem of having a beta in released (I don't see a new problem).

We can discuss this better in the next Coq call, if you like @silene , but this was the model (poorly) described in the doc. I've never been the only one accepting PRs here, my bad I did not notice the misleading sentence before.

@silene
Copy link
Contributor

silene commented Apr 19, 2020

To me a beta is an official release, it is announced and has a version number.

Then explain to me why all the beta packages of Coq are in the core-dev repository rather than the released repository.

core-dev: "The repository contains package for development versions of Coq. Typically .dev packages for Coq branches."

extra-dev: "The repository contains packages for development versions of external contributions to Coq. Typically .dev packages following the branches of the extension."

How come a beta version for Coq is a "development version", but a beta version for MathComp is an "official release"? The rules have to be the same for all the repositories!

But maybe we should not be so focused on the repository for Coq. Let us see what happens in the outer world, e.g., the official Opam repository. For example, what about the beta versions for the OCaml compiler? They are in the official repository, but they depend on an ocaml-beta package, which is missing from the official repository. In other words, users still have to get the beta versions from a different Opam repository if they want to install them.

For the sake of completeness, let me also mention the case of other packages: 1% of the packages actually put their beta versions in the official Opam repository (29 over 2630). And as far as I can tell, no beta versions have been added since the start of the year (but I may have missed one).

@gares
Copy link
Member

gares commented Apr 19, 2020

To be clear, I'm fine amending the policy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants