opam-repository icon indicating copy to clipboard operation
opam-repository copied to clipboard

[new release] mirage-block-ccm (1.0.2)

Open sg2342 opened this issue 2 years ago • 11 comments

CHANGES:

  • update to the current ecosystem

sg2342 avatar Apr 06 '22 09:04 sg2342

#=== ERROR while fetching sources for mirage-block-ccm.1.0.2 ==================#
OpamSolution.Fetch_fail("https://github.com/sg2342/mirage-block-ccm/releases/download/1.0.2/mirage-block-ccm-1.0.2.tbz (curl: code 404 while downloading https://github.com/sg2342/mirage-block-ccm/releases/download/1.0.2/mirage-block-ccm-1.0.2.tbz)")

kit-ty-kate avatar Apr 06 '22 11:04 kit-ty-kate

@kit-ty-kate : sorry about that; i had dune-release publish ... issues. mirage-block-ccm-1.0.2.tbz is now an asset of the 1.0.2 release and the fetch works.

sg2342 avatar Apr 06 '22 11:04 sg2342

This https://github.com/sg2342/mirage-block-ccm/blob/master/examples/dune#L6 line is suspicious. I would highly suggest to avoid (optional) at all cost, but if you have to use it then there are missing optional dependencies in the opam file that need to be added.

kit-ty-kate avatar Apr 06 '22 12:04 kit-ty-kate

@kit-ty-kate the optional dependencies are marked as dev in the opam file, similarly to e.g. u2f and webauthn. Is there a better way to do this?

hannesm avatar Apr 06 '22 16:04 hannesm

What is the purpose of this tool and why would it be only installed in dev mode?

The issue with using dev is that in 99% of the case the dependencies are not defined (dev = false) and having (optional) means if all the libraries required are installed, the tool will be installed. Which mean now the package is non-reproducible. Worse even, if one of the dependency is in the middle of installing, dune might detect it as installed and fail halfway through because it isn’t fully installed yet.

kit-ty-kate avatar Apr 06 '22 16:04 kit-ty-kate

I think I understand what you mean - but maybe that should be addressed by the dune developers (why do they ship an optional thingy when they have seen opam's depopts?). For "now the package is non-reproducible" I guess my point of view is different: reproducibility means you know the set of system packages and opam packages that are installed. In any case, maybe dropping the optional and dev is the way to go.

hannesm avatar Apr 06 '22 17:04 hannesm

(why do they ship an optional thingy when they have seen opam's depopts?)

I don’t quite get what you mean. (optional) and depopts: give you a feature that makes it very easy to shoot yourself in the foot but in some cases they are actually needed sadly. Both features should almost always be used in tendem.

kit-ty-kate avatar Apr 06 '22 17:04 kit-ty-kate

doesn't matter -- see https://github.com/sg2342/mirage-block-ccm/pull/25

hannesm avatar Apr 06 '22 18:04 hannesm

Now that https://github.com/sg2342/mirage-block-ccm/pull/25 is merged, would you could another release (or remove the git tag and release, and publish a fresh release under the same name), @sg2342? Thanks :)

hannesm avatar Apr 07 '22 18:04 hannesm

What is the status of this? Do we need a new PR?

mseri avatar Jun 30 '22 12:06 mseri

Ping @hannesm @sg2342

mseri avatar Oct 13 '22 12:10 mseri

superseeded by #22364

hannesm avatar Oct 25 '22 19:10 hannesm