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

Disable conf-zstd.0.1 #25441

Merged
merged 4 commits into from
Mar 13, 2024
Merged

Disable conf-zstd.0.1 #25441

merged 4 commits into from
Mar 13, 2024

Conversation

dra27
Copy link
Member

@dra27 dra27 commented Mar 9, 2024

As we move towards proper depext support for Windows in opam-repository, old versions of conf- packages are an increasing nuisance, as either they all need updating or old versions need constraining away from Windows for lowerbounds purposes (cf. #25235).

conf-zstd has two versions - the original conf-zstd.0.1 and then a version constraining conf-zstd.1.3.8 added in #13602.

In general, I find that these pseudo-version conf- packages add more maintenance burden/confusion than they solve. However, in this particular case, the passage of time means that pretty much any supported distro has at least version 1.3.8 (Ubuntu's had 1.3.8+ since Disco (19.04); Fedora has had 1.3.8+ since Fedora 28; Alpine has had 1.3.8+ since 3.9), so rather than just changing the constraint for the older conf-zstd.0.1, how about just simply disabling it?

Simplify the maintenance of this package by only having one version to
contend with. The original addition of conf-zstd.1.3.8 was somewhat
flawed - opam does not support depext version contraints, so packages
trying to encode these should use a different name from the conf
package, to ease the maintenance of the depexts list.

Of the major distributions:
- Ubuntu has had 1.3.8+ since Disco (19.04)
- Fedora has had 1.3.8+ since Fedora 28 (RHEL 8 as well, therefore)
- Alpine has had 1.3.8+ since 3.9

Solvers will already have been picking conf-zstd.1.3.8 as the greatest
version, so this commit explicitly marks conf-zstd.0.1 as unavailable,
and removes the now-redundant version constraint on two old zstandard
packages.
# conf-zstd. conf-zstd.1.3.8 was added to "encode" a build requirement of at
# least version 1.3.8, but this should have been done using an entirely new
# package.
available: false
Copy link
Member

@mseri mseri Mar 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we just mark it as deprecated for now without changing the content or make it unavailable? There is not much of a point into using the deprecated flag otherwise imo.

And even in the case we really want to make it unavailable, which I am ok with, I'd prefer not to delete the rest of the content

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That makes a lot of sense - amendment just pushed. I can't remember if deprecated => avoid-version but we'll shortly find out from the lowerbounds check 🙂

ppxlib appears to be affected by a variation on ocaml/dune#1549,
fixed by ocaml/dune#1551 Dune 1.6.0.
It's either that or adding x-ci-accept-failures!
@mseri
Copy link
Member

mseri commented Mar 13, 2024

Thanks!

@mseri mseri merged commit 4eb1787 into ocaml:master Mar 13, 2024
2 checks passed
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.

2 participants