Skip to content

dune install -p <pkg> requires every packages from the project to be installed, not just <pkg> #4814

@kit-ty-kate

Description

@kit-ty-kate

Expected Behavior

With 3 packages into one repository, 2 of the packages available globally, I would expect dune install -p pkg3 to succeed and to only install pkg3.

Actual Behavior

Fails with:

Error: The following <package>.install are missing:
- _build/default/current_ocluster.install
- _build/default/ocluster-api.install
Hint: try running: dune build @install

and if we do dune build @install as hinted, all 3 packages are install/reinstalled (overriding globally installed packages, breaking the expectation of -p)

Reproduction

FROM ocaml/opam:debian
RUN git clone git://github.com/ocurrent/ocluster.git
WORKDIR ocluster
RUN git submodule update --init
RUN sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam
RUN opam pin add -n .
RUN opam update --depexts
RUN opam install dune.2.8.5
RUN opam install --deps-only ocluster
RUN opam exec -- dune build -p ocluster
RUN opam exec -- dune install -p ocluster

Specifications

  • Version of dune (output of dune --version): 2.8.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedaccepted proposals

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions