Desired Behavior
dune build @fmt should succeed even when using the site stanza in install.
Example
Here is an example of the failure:
https://ocaml.ci.dev/github/edwintorok/lintcstubs/commit/8db4abc2ae1f8c579940a6a98940a41419a7aca0/variant/%28lint-fmt%29
It is caused by this stanza in dune:
(install
(section
(site
(goblint lib_stub_src)))
(files ocaml_runtime.model.c)
(package lintcstubs))
Which causes dune to fail when goblint is not installed.
dune shouldn't make that a hard failure unless it actually wants to run the install rule (which it shouldn't need to for @fmt).
P.S.: for setup-ocaml based CIs this can be worked around by explicitly installing goblint before running @fmt, but to reduce time spent it may be desirable to avoid the installation of unnecessary packages.