tarides / opam-monorepo

Assemble dune workspaces to build your project and its dependencies as a whole

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Shouldn't fail when depext fails

Julow opened this issue · comments

I understand why the depext tool would fail but I think opam-monorepo shouldn't fail in response.

The actual dependencies are probably already installed and if they aren't, it is not hard to figure out later because the conf- packages will tell me.

opam-monorepo: internal error, uncaught exception:
               (Failure "External dependency handling not supported for OS family 'nixos'.")
               Raised at Stdlib.failwith in file "stdlib.ml", line 29, characters 17-33
               Called from CamlinternalLazy.force_lazy_block in file "camlinternalLazy.ml", line 31, characters 17-27
               Re-raised at CamlinternalLazy.force_lazy_block in file "camlinternalLazy.ml", line 36, characters 4-11
               Called from OpamSysInteract.packages_status in file "duniverse/opam/src/state/opamSysInteract.ml", line 195, characters 8-17
               Called from Duniverse_cli__Depext.run.(fun) in file "cli/depext.ml", line 29, characters 20-56
               Called from OpamGlobalState.with_ in file "duniverse/opam/src/state/opamGlobalState.ml", line 186, characters 14-18
               Re-raised at OpamStd.Exn.finalise in file "duniverse/opam/src/core/opamStd.ml", line 1372, characters 4-38
               Called from Cmdliner_term.app.(fun) in file "duniverse/cmdliner/src/cmdliner_term.ml", line 25, characters 19-24
               Called from Cmdliner.Term.term_result.(fun) in file "duniverse/cmdliner/src/cmdliner.ml", line 33, characters 27-34
               Called from Cmdliner.Term.run in file "duniverse/cmdliner/src/cmdliner.ml", line 117, characters 32-39

I just noticed that opam-monorepo depext was explicitly called so failing is justified. I somehow thought that opam-monorepo pull was failing.

Still the error message could be improved.

Thanks for reporting this!

Yeah we should definitely catch that and report it properly.