-
Notifications
You must be signed in to change notification settings - Fork 373
Add 'install --formula', rewrite '--deps-only' #4975
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
Conversation
4bacf33
to
4433dfa
Compare
Should be finished, just needs some git history cleanup + tests |
e723653
to
8957e01
Compare
|
ab6cd0b
to
b1165cd
Compare
b1165cd
to
1234610
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from the minor bracket interogation above LGTM.
92689cb
to
8c03bbc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all good! thanks!
rebased |
closes #4914 |
Using the same scheme as for enforcing the invariant (but with a distinct path, we don't want the two to get confused in messages, etc.) This is only in the internal API at the moment. The `request` type is extended to allow a formula (instead of an atom list) in its `wish_install` field.
Working around a set of bugs that were in the original version, but also renouncing using the `--formula` code path because that was too limited for using deps-only on multiple packages, and with unspecified versions. This creates virtual packages at the client level that mimic the dependencies of the specified packages (except for dependencies between them). This resolves a few issues: - these packages are always available (the original implem patched the packages but that could result in unavailable packages getting installed) ; they are however marked as avoid-version if unavailable as a cheap way to stay on the right version when possible. - they exist in parallel to their "real" counterpart, so that these can still be installed if required through dependency chains, keeping consistency of the solution. - they forbid different versions of their "real" counterpart, to ensure consistency. - the `deps-of-xxx` package are removed from the solution, but could appear in conflict messages. I'd argue that it should make things understandable even if it is an implementation detail.
…experimental For printing of action reasons with `--formula`, unfortunately we have to add yet another argument, because the `requested` for applying `--with-test` and similar flags no longer matches the one used for printing actions reasons: the former doesn't include packages specified through `--formula` while the latter needs to.
Formula remains strict, the best effort only concerns the individual atoms.
In PR ocaml#4796 I fixed a problem with `--best-effort`. Subsequently ocaml#4975 seems to have broken this again. Not sure if this is the correct fix. There may also be additional places where this is going wrong...
In PR ocaml#4796 I fixed a problem with `--best-effort`. Subsequently ocaml#4975 seems to have broken this again. Not sure if this is the correct fix. There may also be additional places where this is going wrong...
In PR ocaml#4796 I fixed a problem with `--best-effort`. Subsequently ocaml#4975 seems to have broken this again. Not sure if this is the correct fix. There may also be additional places where this is going wrong...
Fix --best-effort regression introduced in #4975
In PR ocaml#4796 I fixed a problem with `--best-effort`. Subsequently ocaml#4975 seems to have broken this again. Not sure if this is the correct fix. There may also be additional places where this is going wrong...
No description provided.