OCamlPro / ows

A service to analyse the state of the opam repository w.r.t. all available version of the OCaml compiler.
http://ows.irill.org/latest/today/index.html
Other
5 stars 3 forks source link

A package which can be installed on all the compiler version should not be considered as partially broken #6

Closed samoht closed 9 years ago

samoht commented 9 years ago

From the doc:

A package is Partially Broken ( if it is broken on some (declared) Switch

I don't like the way you phrase this (and the corresponding logo). From an end-user perspective, a package which has at least a version available for all the compiler version is not (partially) broken!

Maybe your want to distinguish between packages with latest versions available for all the compiler versions (which shows a great care in portability) from packages where only an older version is available for older versions of the compilers. But dropping compatibility to old version of the compiler doesn't mean that your package is partially broken ...

rdicosmo commented 9 years ago

I strongly disagree with this point of view: if a given version of a package is in the repository, then it should be possible to satisfy its dependencies. Otherwise, why is it there?

samoht commented 9 years ago

Otherwise, why is it there?

because it works for other versions of the compiler? because it is needed by other packages to compile for different versions of the compiler? If you really want to use a specific package version, you can use opam switch to select the compiler version where the package works fine.

Ideally we would like the maximal co-installable set of packages with their maximum versions. But in practice, I think it is acceptable to have multiple co-existing (and conflicting) maximal co-installable set, as we have to deal with distributed packagers/developers workflows.

Anyway, my point is just that it is not clear to me how to "fix" such packages apart than:

but then you lost the information on how to install older packages in the repository and you force everyone to support blending edges APIs...

samoht commented 9 years ago

Actually, this might be related to https://github.com/OCamlPro/ows/issues/5

For instance ocamleditor is not partially broken but some versions of the packages are unavailable for some compiler versions. I don't see why ows says that ocamleditor is "installable" but the packages depending on ocamleditor are "partially broken".

abate commented 9 years ago

I see three "states"for a package :

here with declared,I mean those versions declared as compatible with a specific ocaml compiler in the package's metadata.

"partially" here denotes the fact that as it is, there are SOME versions of the package that are not usable : as roberto said,from a user prospective, these versions are useless and should not be present in the repository. Opam already offers the possibility to declare a version of a package is not compatible with an ocaml compiler. Another option would be to remove the package version from the repository entirely.

In your example ocamleditor is installable because the maintainer declared as available only those versions for which all dependencies are truly satisfied. From a user prospective all versions in the repository are usable forall declared ocaml compilers, and therefore labeled as installable.

If you have a better word to denote this state, I'm all open to suggestions. The pictograph (a warning sign) seems pretty innocent to me. There is also a tool tip explaining the meaning of it.

AltGr commented 9 years ago

Duplicate of #14