[opam-devel] ows reports

Fabrice Le Fessant Fabrice.Le_fessant at inria.fr
Thu Oct 2 13:58:06 BST 2014


On Thu, Oct 2, 2014 at 12:53 PM, Thomas Gazagnaire
<thomas at gazagnaire.org> wrote:
> Anil and I are "responsible" for fixing the policies to accept or not packages. We try to advise people on how to improve. For instance, it is not clear to me what to say to jane-street to improve the quality of their packages in ows. They follow they workflow we have defined initially.

I think the choice is either:
1/ to decide that are not going to fix old packages. In this case,
they should take OWS information as definitive, and mark as
unavailable for a given OCaml version any package that is red for that
version.
2/ to fix dependencies to be compatible with all OCaml versions that
they want to support (i.e. that the package says it is available for).
For example, they could provide several implementations of the same
module for different versions of OCaml, if the module uses features of
specific OCaml versions.

In both case, the result is that the package is either advertised as
not being available for an OCaml version (an empty box in OWS), or it
is available with matching dependencies (a green box).

>>> I guess the goal is to make some changes (the policy, the workflow, ...) to improve the metrics results or at least to propose or explain how it can be improved -- if not, I don't see the point. Currently, it is still unclear to me how we (the repo maintainers) can fix all the "broken" packages on the repo without requiring all packages to compile on all the versions of the compiler (which will never happen) or by duplicate metadata (the transitive closure of the available fields) which will get out-of-sync quickly.
>>
>> Currently, the field "ocaml-version" is used to tell that the
>> "content" of the package is incompatible with a given OCaml version.
>> Maybe there should be another field to say that the package is known
>> to be incompatible with a given ocaml version, because of missing
>> dependencies. This way, it would not be printed in the list of
>> available packages for that version.
>
> opam removes the transitive closure of unavailable packages in `opam list --all`.  But yes, maybe we need more meta-data. Is that the solution you recommend?

Ideally, package maintainers would fix their dependencies to work on
all supported versions, but in the meantime, yes, such a meta-data
could help.

--Fabrice


More information about the opam-devel mailing list