Disable filtering of available packages for availability of their depexts #322
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
OPAM by default filters out packages for which the system on which it is running does not have the depexts. Which is nice in theory but when building a lockfile we want all packages to be available.
The problem here is that some configurations do not have a queryable package list, e.g. when using Docker containers the package list might have been deleted to save on space in the container, thus
available_packages
would be just a subset and missing packages, despite these existing in the OPAM repositories.This is the reason why on the Tezos CI it needs
apk update
because if the package list is missing it will just silently exclude a lot of the necessaryconf-*
packages. I tested it locally in a Docker container built in the same way as Tezos where I could reproduce the issue and disabling this in the config makes it work out of the box, without the need for workarounds.