-
Notifications
You must be signed in to change notification settings - Fork 374
2025 Developer Meetings
Next meeting: 03/11/2025 13:00 CET
Agenda:
- look at new issues/PRs (ordered by "Last updated") in:
- opam
- opam-file-format
- github.com/ocaml-opam/*
- discuss plans for a public meeting
- discuss how to handle the
next/3.0branch - triage old issues/PRs in the above listed repositories
No meeting
No meeting
Present: Artemiy (@arozovyk), Kate (@kit-ty-kate), Raja (@rjbou)
TOWRITE
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
TOWRITE
Present: Kate (@kit-ty-kate), Raja (@rjbou)
TOWRITE
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
- #5484 (opam update, Could not update repository "default": Failed to extract archive): comment#5484
- #4558 (Opam 2.0.8 doesn't pick new compiler variants when updating a repo): We need to think about what do we want for repositories default, it remain an open question
-
#6049 (opam layout upgrade from 2.2
alpha to 2.2beta seems to delete empty switches): comment#6049 - #6181 ([Windows] Internal cygwin installation should not populate to the path): moved to setup ocaml
-
#5967 (Opam windows: ocaml vs ocaml.exe: "Cannot find file topfind"):
Issue in finding
ocamlfindin Cygwin. Moved to opam repository - #6642 (:The archive-mirrors value from repo files are not overridable, displayed nor deduplicated): comment#6642
- #6674 (Solver inconsistency between 0install and mccs): David will take a look
- #5693 (opam updates a package, then forgets that it did so): comment#5693
TOBECONTINUED
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
-
#6679 (OpamFile.OPAM API: No longer assume that internal opam repositories are directories):
It is almost ready but there is an issue with
opam lint --packagethat changes behaviour as it no longer take the raw file but the processed one comment#6679 - #6680 (Abstract opam repository root): To look at later, it is queued on other PRs
- #6682 (opam update updates the sources of previously VCS pinned packages): comment#6682
- #6683 (post-messages should not be displayed on reinstall/upgrades if the message is the same): comment#6683
- #6684 (GHA: Add OCaml 5.4 and trunk to the test matrix): comment#6684
- #6685 (opam lint --check-upstream doesn't check extra-source): comment#6685
-
#6686 (Re-use already loaded opam files in
OpamRepositoryCommand.update_with_auto_upgrade): Noticed on #6614, comment#6686 - #6688 (Add a test showing the behaviour of opam tree on local packages that happen to be already pinned): Raja will review it
- Since 2.2, untarring once package archives doesn't keep timestamps, which slow down automake jobs. This issue is seen in opam-repository#28495 (comment. It could be fixed by #6440 (to confirm). An issue #6693 is opened.
- #6659 (Make the computation of pkg:opamfile match its specification): Raja will review it
- On the alpha release, we plan to release it around the 13th October. The only mandatory PR that needs to be integrated is #6611 - Fix pinned depends begin ignored on simulated pins, we can split it if depends PRs are blocking it.
Present: Artemiy (@arozovyk), Kate (@kit-ty-kate), Raja (@rjbou)
Consensus: live note taking by Raja, transcription by Kate. By default, we'll try to put everything in the PRs being discussed and only put a pico-summary (a few words) with a link to those comments or new issues. Everything else can stay in the notes in a "recap format".
-
#6659 (Make the computation of
pkg:opamfilematch its specification): discussed the origin of the variable and different solutions as the PR in its current form would break opam-bin - #6668 (enrich lock file to contain info about original opam): briefly mentioned alternative solution
- #6565 (Enforce dry run not changing opam root): discussed what needs to be done to finish this PR
- #6489 (Do depexts status check at opam update time): Raja will review it in its current state then Kate will review after the final rebase
-
#6675 (Reftest: update
sed-cmd): Raja will fix the tricky regexp -
#6673 (logging: fix log file management for tests):
Raja wants to do it another way to simplify more of the
OpamSystemcode. We should document the behaviour of negative debug level at some point and move the notion of repeatable-debug to a specilised variable - #6614 (opam update: load only changed opam files): Artemiy will add some benchmarks
- #6670 (Add support for OCaml 5.5): Kate will improve our CI script to support compiler pre-releases
- #6625 (internal repositories stored as archives and loaded in memory): Kate is splitting the new abstraction to a separate PR
- opam-publish#166: Raja will review it
Present: Artemiy (@arozovyk), Kate (@kit-ty-kate), Raja (@rjbou)
No notes
Present: Artemiy (@arozovyk), Kate (@kit-ty-kate), Raja (@rjbou)
- We went through the 28 new or updated issues and PRs
- No notable discussion that wasn't reported on the tickets
No notes
No meeting
Present: David (@dra27), Kate (@kit-ty-kate)
- We went through the 30 new or updated issues and PRs
- #6417: David will review it when he has time
-
#6633: David recalled a similar problem with MSYS2 fixed with a patch to
ocamlfind. He'll have a look into it when he has time
No meeting
Present: Artemiy (@arozovyk), Kate (@kit-ty-kate), Raja (@rjbou)
- We went through the 13 new or updated issues and PRs
-
#6615: we discussed several issues with the current behaviour (repository reload when upgrading a patch version, possible breaking out of safe-mode by writing new cache files, …) and concluded that we should at least probably have a variable containing a hash of the current shape of the cache (probably the same string that the
cache-*files use) - #6614: we looked at it together and tried to find ways to factorize some of the code which detects the path of opam files but it turned out that the code does very minimal checks regarding the location of the opam files in a repository. The PR in its current file should more or less be ok, but it might be worth to look at repositories structures once again in the future, in a future PR.
- #6621: we were able to reproduce with 2.3 and 2.2 so this isn't a regression
- #6623: on first sight we agreed that these two cases should probably be errors
- #6489: a review was still mistakenly in its draft/pending form
- #6622: we'll look at what happened during the 2.2 release cycle
- #6596: kate tried to debug how opam2web copies html files to the /www directory and did some experiment last week but wasn't able to make staging.opam.ocaml.org to copy the generated html files beyond the already available index.html for both /doc/api and /doc/man.
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
- we went through the 19 new or updated issues and PRs
- #5824: Artemiy has a branch and will open a PR soon
-
#6611: this needs more tests before merging and a way to test multiple inputs without using
expect(either by implementing expect ourselves in the reftest system, or by adding a new environment variable that lists answers to questions/menus likeOPAMANSWERS="pin-and-install=n;try-install-anyway=y" opam install ...) - #6574: Kate shared her test-case
#6612 just needs a review and we should be able to release a quick 2.4.1 in the next couple of days.
Present: Artemiy (@arozovyk), Kate (@kit-ty-kate), Raja (@rjbou)
- #6596: we should remove the previous section and replace it by a link to the API
- Modulo one regression fix (#6598) and an addition to the documentation (#6407) that we can add during the release, the stable release of opam 2.4 is ready and should start later this week.
- Artemiy is looking at #5824 and asked some precisions about it
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate)
The issues up to #6589 and PRs up to #6586 didn't require further discussions
The rc1 release happened last week as planned, everything went well. Next week should see the stable release if everything goes right.
Present: Artemiy (@arozovyk), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6574 and PRs up to #6573 didn't require further discussions
The rc1 should be ready by the end the week. Some things are left to do:
- #6571 / #6563: raja
- #6568: kate
- Test benchmark locally #5896: raja
- #5896 / #6567 / #6561: kate
- #6560: kate
- #6394: artemiy. review by raja & kate
- #6407: post rc1
Present: Artemiy (@arozovyk), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6564 and PRs up to #6568 didn't require further discussions
- #6562 let's keep it open so that it can be discovered more easily if people encounter this.
- Artemiy discovered an issue with the reftests on macOS where
wcdoesn't have the same output as on Linux, making theadmin.testreftest fail.
We moved the remaining issues unlikely to be fixed before the final release to the 2.5.0~alpha1 milestone and divided the remaining work amongst ourselves:
- #6407 can be done during the rc phase
-
#5896: raja will look into the unexpected increase in time taken by
readthat doesn't happen locally - #6394: artemiy might take over the PR and finish it
- #6536: kate will look into whether or not the ticket was ever a bug or not
- #6560: raja
- #6561 / #6567 / #6568: kate
- #6563: raja
Present: David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6548 and PRs up to #6552 didn't require further discussions
- #6541 we don't need more than 8 or 16 anyway since ocaml will not compile any faster
TODO:
- Debug GHA: kate
- review #6544: raja
- review #6520: david
- review #6549: kate
- make sure the test in #6539 matches the actual behaviour of opam-repo-ci: raja
- once done, review it: kate
- review #6550 after the other PRs are merge and this one is rebased: kate
- release: kate
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6536 and PRs up to #6531 didn't require further discussions
- #6535: we need to flip the new switch state field from the overwritten opams to the simulated opams
- #6528, #6520, etc...: sum up of the current statuses of the different experiments. Solution chosen: We merge #6520 in 2.4 and work on a better solution in 2.5.
- ocurrent/opam-repo-ci#441: looked at the issue. It could be an issue with either #6436 or the recent changes to pinned packages. Kate was unable to reproduce locally but we'll try again.
In order to have the intuitive workflow for users we decided to change the whole behaviour as described in #6520 (no self-conflict) and then take time to do a more fine grained specification for 2.5 (remove only if it is accurate the removal of installed package).
We're hoping to start the release by the end of the week. TODO:
- Rebase and merge #6520: Raja
- Open a PR to enable the embedded cygwin setup on Windows in the release script: Kate
- Debug ocurrent/opam-repo-ci#441: Raja
- Test memory usage of large updates (e.g. from the before-phase1 tag): Kate
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6521 and PRs up to #6523 didn't require further discussions
-
#6513: the fix is in
patch, it has been released and PR will follow to updte external sources patch - #6504: Kate will finish the PR, then a review
- #6501: deps-only behaviour, we need to test the new behaviour and add some tests
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6521 and PRs up to #6523 didn't require further discussions
We discussed needed PRs for the release, the current plan is : beta1 02/06, rc 09/06, final 16/06
Present: Artemiy (@arozovyk), David (@dra27), Raja (@rjbou)
The issues up to #6514 and PRs up to #6516 didn't require further discussions
Release PRs & issues:
- #6501 : dps-onyl issue, Raja reproduced, she will look at it
-
#6513 : stack overflow, guess that it is an issue on
patch - #6498 : windows / setup.exe, Raja will give it a try
The current plan is to have the final on 10/06
Present: Artemiy (@arozovyk), David (@dra27), Raja (@rjbou)
The issues up to #6514 and PRs up to #6515 didn't require further discussions
- #6514 (source cache shouldn't be indexed by the checksum only) : it is definitively something todo, see comment
Present: Artemiy (@arozovyk), Kate (@kit-ty-kate)
Discussed implementation of #6461 Move the depexts availability calculation at opam update time
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6491 and PRs up to #6490 didn't require further discussions
There is a view to try to enforce MSYS2 support for 2.5 release.
Instead of having setup.exe in cache in opam.ocaml.org, we could add setup.exe embed in Windows opam binary. It adds only 2M and resolve all network issue related to that (plus Cygwin website seems to be no more reachable in some countries). The licensing seems good (GPL).
Related issue: #6497
Currently, ocaml-system is the compiler installed by default is there is an
ocaml binary on the system. This is very useful to have a quickly set switch,
but with the time there was several issue encountered:
- some system have the compiler installed but not the
compiler-libs - some system installs several version of some libraries confusing opam install actions
Several proposition were discussed:
- check if the install is consistent and the one needed by opam: it would result into too much work to keep synchronised over several distributions.
- remove completely
ocaml-systemfrom repository, but it is not what is wanted: it would break too much process, especially CIs - remove compiler flag from
ocaml-system: it would break opam 2.0 users, where invariant was not yet introduced -
#6465 (use
default-compilerflag to select invariant): used with other repositories, it would need to keepdefault-compilerup-to-date with newly added compilers -
#6464 (remove
eval-variablesfrom invariant computation): it would remove the ability to useeval-variablesfor other repositories to compute invariant
We tend for a solution like #6464
with an option in the global config to re-enable eval-variables in invariant
computation. But this won't resolve having ocaml-system selected when install
local switchs, or install a switch with the compiler ocaml (which ends up as
an invariant).
We finally agreed on a solution of having an explicit flag for ocaml-system
that would make it installable only if requested explicitly, like that it is
won't be installed by default on switches with an invariant, and won't be
included on computed invariants. It is possible with mccs, we need to check if
it is possible with 0install.
The general behaviour of explicit flag would be: the package won't be
installed unless explicitly required via CLI or in the invariant, not if it is
in package dependency.
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6480 and PRs up to #6476 didn't require further discussions
Related to issue #6474
There is more and more Cygwin setup.exe issues. Having opam.ocaml.org as a
mirror could help. We end up that we don't want to have a full cygwin mirror on
opam.ocaml.org, but we still can store setup.exe and its sha, it is easy to
maintain.
We also need to add a fallback when setup.exe fetch fails and there is an
already one present (see #6495)
We need to have : #6448 (patch failures) and #6465/#6466 (no longer have ocaml-system at switch creation b default)
After some tests, it is not possible to use the flag avoid-version as it is
not working with the solver 0install (it doesn't handles priorities). We need
to find the good way to do it, it seems to be by removing eval-variables at
invariant computation, we need more time to validate it or another procedure.
Related issues :
- #6496 : Move eval-variables variables from opam default configuration to repository one
- #6497 : Externalise default opamrc
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6472 and PRs up to #6469 didn't require further discussions
-
#6465,
#6466 (change opam switch creation
compiler default): it is something that can and should be done in the
repository (there is no code in opam that choose
ocaml-systemoverocaml-base-compiler, it's the number of dependencies and solver criteria). We could use the flagavoid-versionin order to have the wanted behaviour. We need to advertise well the change of default behaviour.
We moved issues and PRs that we couldn't take a look in time to the 2.4.0~alpha2 and 2.5.0~alpha1 milestones, and approved the release of 2.4.0~alpha1 tomorrow after the merge of #5982.
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6462 and PRs up to #6450 didn't require further discussions
The release is planned for next week. We triaged all the tickets and PRs present in the 2.4.0~alpha1 milestone, kept the ones we plan to realistically look at or merge, moved the ones that we plan to look at during the alpha/beta phase to the 2.4.0~alpha2 milestone, and moved the ones we sadly won't have time to look at, to the 2.5.0~alpha1 milestone.
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6445 and PRs up to #6446 didn't require further discussions
cmdliner (cmdliner#200)
There is no more need to have 1.3 compatibility as 2.0 will ensure prefixes usage. We may need to have it more global in our internal cmdliner.
opam list --latest-only (#6387)
After somme discussion and tests, we want to test a new command that permit to query using high-level formulae language instead of trying to guess what user wanted by argument position.
Present: David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6430 and PRs up to #6431 didn't require further discussions
cmdliner (cmdliner#200)
We continued the discussion about cmdliner fork for opam needs. We can add
cmdliner code in opam-core wit only our modification added. The simpler way
to integrate it is to have all cmdliner code in a single module but it will
make backport and updates very painful. Forking cmdliner could add some burden
as it comes automatically with users that may need maintenance over it.
We tend toward having the code in a subdirectory of opam-core, making it a
full composant of that library, that is only for opam lib usage.
Discussion related to #6427 & #3967.
Some package may want to add their shell completion script to users shell session. One big issue is that it can be a potential security issue as it's shell scripts that are used for completion (even if opam does not check if the binary is malicious, shell scripts are little more dangerous).
It does not need to be implemented in opam to be tested in the wild, it can be
done by adding environment updates in the packages themselves in opam
repository. This first step will permit us to test how it is used, and how
people use it. It needs to be enforced by a post-message that inform user
that shell completion was updated on the system.
Present: Artemiy (@arozovyk), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6425 and PRs up to #6422 didn't require further discussions
#6423 (opam admin add-constraint does not create dependencies): see comment
#6425 (cmdliner 2.0.0 support): We took a tour of ideas for the fork of cmdliner in order to 1. keep the ability to have prefixes 2. add our proper functions 3. propose to the community a cmdliner 1.3 without splitting the repository. In order to that we need to have proper library for OCaml users that is a cmdliner1 snapshot and another one that is our own fork that contains opam specific additions (or even modifications).
Present: Artemiy (@arozovyk), David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6413 and PRs up to #6412 didn't require further discussions
-
#6409 (Fix opam file lookup when a pin is done with a local directory and a branch is specified): we discussed the proposed change of behaviour of
opam pin ./local-vcs-dir. It seems that #4300 changed this behaviour in opam 2.1 but it needs further investigations. The proposal would change this behaviour, a warning could be added to notify of the untracked changes in the opam files.
- #5982 (Support Nix depexts with opam env): Tested on an issue and iw working as expected. It reaffirms us on that it is the good way to do it.
- patch:
ocaml-patch.3.0is merged! Incoming PR. - The alpha is planned to the beginning of april.
Present: David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6405 and PRs up to #6406 didn't require further discussions
Issue #200 on the removal of prefixes in cmdliner. We use and define opam options having in mind prefixes, having cli versioning too. We want to keep that behaviour, we will see how to: use the environment variable, fork, use internal API, etc.
PR #6393 by default does an hard upgrade. We have the two mechanisms of light and hard upgrade: hard upgrade is a complete lock of opam root to update internal layout, while light upgrade permit to load old opam roots (even if internal files changed) in read only mode, blocking only if a write is needed (by state). This is useful for libraries that uses opam lib and read opam root (e.g. opam-dune-lint), the ones that need to write still need to have the same version for library than binary (e.g. opam-build).
We will try to enforce the rule that no new version of hard upgrade will be defined (last one is 2.0.0~beta5), only add mechanisms that permit light upgrades.
Present: Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6395 and PRs up to #6394 didn't require further discussions
- PR #6393:
repos-configsyntaxe & soft/hard update to discuss on next meeting, we took a tour of parser printer used for the new syntax - PR #6394 on adding a job that test opam lib reverse dependencies, see comment
Present: Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6387 and PRs up to #6381 didn't require further discussions
Issue #6387 See comment and comment
Issue #6379/#6248 & PR #6256 see comment and issue #6390.
Present: David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6379 and PRs up to #6377 didn't require further discussions
There is no (simple) way to keep a complete working history, and it is not
required for other plugins. The solution we would go for is to just keep the
history and make plugins changes on top of that, like that we have at least a
working git blame. Everything is ready for the split, we pause that until we
see more with opam admin users.
Present: David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou), Ryan (@RyanGibb)
The issues up to #6374 and PRs up to #6377 didn't require further discussions
Related PR: #5982
The current implementation generates a Nix derivation at each install of a
depext that contains all needed depexts by the switch: new ones (opam packages
to install) and old ones (already installed opam packages). This leads to a
rework of the API for handling the current switch state. A proposal for discussion
was done to keep persistent the Nix derivation file in the switch hierarchy and
only update it when a new package is added; but it needs a removal mechanism to
remove already stored Nix packages from that internal install (there is no
simple way to update that internal install, it would be an update of the file).
It is a very delicate issue to remove depexts in other distribution (user
managed system), but for internal ones (Nix, Cygwin) is doable but have its pro
and cons: some think it is preferable as the user has no way to interact with
the internal install, some think that it is as delicate a non internal install
as user may change it. It is
possible to add this functionality at opam remove as it is done now at opam install for system packages install. After some discussions and projections,
we end up by keeping the way it is done currently in the PR (propagate the
information of all needed depext at current state), it may be reused by other
futur depext support, and it won't add the removal complexity (handling
multiswitch system dependencies removal with its own command).
Another review of the PR will be done with that in mind.
No meeting
Present: David (@dra27), Kate (@kit-ty-kate), Raja (@rjbou)
The issues up to #6366 and PRs up to #6367 didn't require further discussions
- Alpha release of ocaml-patch soon, to integrate to opam for 2.4 if released for opam 2.4 release process
- Some exploratory work for reftest splitting, not so trivial for dune
- On
opam adminsplit, we'll try to keep git history, and need to manage how to move issues (different orgs) & PRs (reopen?)
No meeting
Present: David (@dra27), Kate (@kit-ty-kate)
The issues up to #6357 and PRs up to #6343 didn't require further discussions