Skip to content

2022 Developer Meetings

David Allsopp edited this page Feb 4, 2022 · 25 revisions

4-Feb-2022

Agenda

  • opam 2.1.3 (#5000)
  • opam 2.2.0 release criteria
    • Review of features in-progress
    • Fix feature requirements / release criteria
    • Focus to alpha

New(ish) issues (inc. last week's)

28-Jan-2022

Notes

  • Various needed discussions! 2.1.3/2.2.0 and issue sweep to next week, as we ran out of time.

This week

  • Louis: opam list optimisation fixes are done and 2.1/2.2 is back down to 2.0's speeds. Tidied up code and accidentally broke the optimisation, but that's now fixed again (all part of #4172). Some time also on opam-custom-install (https://gitlab.ocamlpro.com/louis/opam-custom-install/-/issues/1).
  • Raja: Fixes for opam var and opam option (springing from #5025) - rather more critical bug found which needs back-porting. Some more work on --with-dev - need to be clear in documentation which of dev and with-dev to use.
  • Kate: Looked at state of opam in Linux distros; it's depressing! Alpine is easy to contribute to - now the maintainer for Alpine!
  • David: hot-fixes to make cold for base image builder for sigaltstack. Windows GitHub Actions!

Agenda

  • #5030 and the need for full PR descriptions (@dra27)
  • #5031, #5022, #4901 and the need to talk to each other
  • opam 2.1.3 (#5000)
  • opam 2.2.0 release criteria
    • Review of features added today
    • Fix feature requirements by 4 Feb
    • Focus to alpha

New issues (inc. last week's)

21-Jan-2022

Agenda

  • @NathanReb: Downloading and caching opam repositories
  • @dra27: opam-dev team visibility, MAINTAINERS, etc.
  • @dra27: who goes in AUTHORS!
  • @dra27: opam-depext release needed for 5.00.0 compatibility (see the horror of ocaml-opam/opam-depext#147
  • @dra27: Any other "definitely not going to do now issues" to bump to 2.3?

New issues

Notes

opam-monorepo repository caching

  • opam-monorepo repository caching (@NathanReb). opam-monorepo uses your switch to get the repository information from the current switch. This first step is an issue, since configuration of the switch can vary between users. Idea is to be able to include a list of repositories in the lockfile and some opam configuration variables and have this as metadata in the lockfile.
  • @AltGr: there is a cache for git objects, but it's very hacky (no nice OCaml modules!). It uses gits plumbing to share commits between everything.
  • @dra27: it should be possible to plumb in additional repositories manually to the user's state (given that the opam libraries are already being used) - i.e. load the user's state, but then link in additional repositories which are maintained by opam-monorepo. In this case, you get the benefit of opam's caching, without exposing the extra repositories to the user and so forth

This week

  • Raja: cleaned up and finalised PRs from last week (recpin, lock and sw heritage ID) - all ready for review. PR and issue sweeping.
  • Louis: Also more work on last week's PRs :) Worked on some more optimisations in the solver - computing reverse dependencies it turns out that the graphs were too big! Looking at general costs of installability and co-installability checks for Kate - working assumption that 2.0 was better because the trimming was being done at a higher level. More information is now being propagated down which allows this to be improved (back to 2.0 levels). Requests which had started taking 5 minutes now back to 16 seconds!
  • David: sigaltstack stuff about to be merged! Windows CI next!

14-Jan-2022

Agenda

Towards a 2.2 release plan

Sweep through these issues (and others in the "Bump to 2.3?" project column, as necessary)

  • #4518, #4519, #4520, #4521 (deprecated fields - this was gated on there being a visible format upgrade in opam 2.2)
  • #4543 (non-recursive --with-test / --with-doc in opam list)
  • #4727 - status?
  • #4649 - status?
  • #4686 (linting on pinning) - status? previous discussion?
  • #4419 and #4207 - status?
  • #4311 - status?
  • #4272 - status?
  • #4541 - status?
  • #3722 - status?
  • #4762 - status?
  • #4890 - status?
  • #4959 - someone happy to implement?

New issues

  • #4992 - opam root message in opam init
  • #4991 - doas support (esp. for Alpine)

7-Jan-2022

Agenda

New Issues

  • #4977 - opam pin add <archive url> should read package descriptions from archive
  • #4984 - tracking git branches following opam switch create .
  • #4985 - permit opam switch export --freeze with path pins (adding --force, --permissive or something)

Notes added on issues

Last week

  • Louis / Raja / Kate code walk-through of the solver
  • Kate: following this, deep into a rabbit hole looking at the empty conflict resolutions. Looking at pulling in 0install's conflict resolution solver instead.
  • Raja: updated software heritage PRs - fallback mechanism should be ready later today. Had another look at #4967: several issues are masked by E3 ("format error") where the actual error is then just displayed as a string. Can look at propagating the precise error from OpamFile. For opam repo set-url, implemented the restoring of the backup if the new URL fails. Worked on tests for lock file / rec-pin (which are strangely intertwined!). Spotted that opam upgrade completely ignores lock files - branch in progress to fix that.
  • Louis: adding some (more) tests. Finally merged opam pin --current and the refactoring (#4973 and #4969) and so coming back to opam install --formula (#4975). Been looking at the issues discussed at the previous meeting with the --deps-only issues - various solutions explored - arrived at a working branch which needs cleaning up and then PR opening
  • David: deployment of glibc 2.34 opam-repository patches should be finalised for next week; MSVC patches are now merged upstream and deployed to Docker images (so our CI can adopt them as well)