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

mark packages as broken #2824

Open
avsm opened this issue Jan 16, 2017 · 2 comments
Open

mark packages as broken #2824

avsm opened this issue Jan 16, 2017 · 2 comments

Comments

@avsm
Copy link
Member

avsm commented Jan 16, 2017

Discussed with @AltGr the possibility of repository triagers marking a package as broken, with a reason and a constraint. e..g broken : "needs newer clang" {os = "darwin"}

CI can use this to triage and move on - right now we need to block on doing a fix which is sometimes difficult on the spot and/or simply not possible (if a depext is missing).

I could imagine something around:

  • making broken packages not installable by default
  • having a flag to allow forcing the broken package to install (e.g. for pinning/testing a fix)
  • listing broken packages (so we can ask people to help fix them)

This would help us design a workflow for making it easier for external contributors to give us fixes for problems, and also for CI to semi-automatically mark packages as known-broken. The CI could also verify that broken packages are in fact still broken.

@hannesm
Copy link
Member

hannesm commented Jan 16, 2017

(I appreciate an explicit broken: marker, and used available: [ ocaml-version = "0" ] to mark packages uninstallable (e.g. some mirage-net-xen versions which have security issues, https://github.com/ocaml/opam-repository/blob/master/packages/mirage-net-xen/mirage-net-xen.1.1.1/opam#L18 -- this works fine with earlier opam (at least 1.2))

@AltGr
Copy link
Member

AltGr commented Jan 16, 2017

available: false would have worked too :)
Or even available: broken, abusing the handling of undefined variables... That way you would get:

Your request can't be satisfied:
  - unmet availability conditions: broken

Even available: !(broken-needs-newer-clang & os = "darwin") would work.

DISCLAIMER: I am not advising the above, just saying that it's possible. And the main point here is easier triaging and automated handling, which this hack would clearly not help with. A broken: field seems a good idea.

@AltGr AltGr added this to the Next milestone Jan 19, 2017
@rjbou rjbou removed this from the Next milestone May 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants