Skip to content

opam install <dir>#2893

Merged
AltGr merged 14 commits intoocaml:masterfrom
OCamlPro:opam-install-dir
Apr 14, 2017
Merged

opam install <dir>#2893
AltGr merged 14 commits intoocaml:masterfrom
OCamlPro:opam-install-dir

Conversation

@AltGr
Copy link
Copy Markdown
Member

@AltGr AltGr commented Mar 25, 2017

This allows to specify opam files or project directories to opam install,
superseding the opam build prototype.

There are still quite a few rough edges:

  • opam install only: upgrade, reinstall and remove should be supported
    too (maybe remove should unpin as well ?)
  • Further calls, with a directory as argument, might be expected to sync, i.e.
    to UNpin packages that were pinned there but don't match anymore (renamed
    packages ?) ??
    (done)
  • opam file format upgrade missing on pinning, the install re-does the update
    that was just done
    (fixed)

@AltGr AltGr mentioned this pull request Mar 25, 2017
AltGr added 14 commits April 14, 2017 16:58
This allows to specify opam files or project directories to `opam
install`, superseding the `opam build` prototype.

There are still quite a few rough edges:
- `opam install` only: `upgrade`, `reinstall` and `remove` should be supported
  too (maybe `remove` should unpin as well ?)
- Further calls, with a directory as argument, might be expected to sync, i.e.
  to UNpin packages that were pinned there but don't match anymore (renamed
  packages ?) ??
- opam file format upgrade missing on pinning, the install re-does the update
  that was just done
This makes all commands act consistently w.r.t. adding to the
roots (specified, newly installed packages are added, unless of course
the specific options of `opam install` are used). For example, `opam
upgrade foo`, with uninstalled package `foo` and confirmation, correctly
adds to the roots.

This also changes the behaviour of `opam install` on already installed
packages: if the package has pending changes, it will be reinstalled (or
upgraded) rather than ignored as it was before.
When computing the universe from OpamSwitchState, rather than later at
the solver layer.
ie including format update, aux files etc.
so that possible `opam pin edit` information is not lost.
@AltGr AltGr force-pushed the opam-install-dir branch from 9f4b841 to 54c75f6 Compare April 14, 2017 15:06
@AltGr AltGr changed the title opam install <dir>, first prototype opam install <dir> Apr 14, 2017
@AltGr AltGr merged commit 266cfc0 into ocaml:master Apr 14, 2017
@hcarty
Copy link
Copy Markdown
Member

hcarty commented Apr 21, 2017

👍 f038997 is my favorite!

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