Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dune errors when trying to remove non-empty man directory #5542

Closed
Gbury opened this issue Apr 4, 2022 · 1 comment · Fixed by #5543 or ocaml/opam-repository#21217
Closed

Dune errors when trying to remove non-empty man directory #5542

Gbury opened this issue Apr 4, 2022 · 1 comment · Fixed by #5543 or ocaml/opam-repository#21217

Comments

@Gbury
Copy link
Contributor

Gbury commented Apr 4, 2022

Expected Behavior

When uninstalling a package containing man pages, dune should accept that the manpage directories can be non-empty after removing the manpages from the project being uninstalled.

Actual Behavior

When uninstalling a package containing man pages, dune sometimes errors out, with a message stating that some directories, such as <prefix>/man/man1, are non-empty and that the user should manually delete it. This is a problem since such directories are shared by all tools being installed in a prefix, and thus there are perfectly good reasons for such directories to not be empty (even if during installation dune had to create some of these directories).

Reproduction

Specifications

  • Version of dune (output of dune --version): 3.0.3
  • Version of ocaml (output of ocamlc --version): 4.13.1
  • Operating system (distribution and version): Archlinux

Additional information

This issue makes the CI of alt-ergo fail (see e.g. https://github.com/OCamlPro/alt-ergo/runs/5816456115?check_suite_focus=true ).

@nojb
Copy link
Collaborator

nojb commented Apr 4, 2022

Makes sense.

Gbury added a commit to OCamlPro/alt-ergo that referenced this issue Apr 4, 2022
@nojb nojb closed this as completed in #5543 Apr 5, 2022
Gbury added a commit to OCamlPro/alt-ergo that referenced this issue Apr 7, 2022
* Add apt-get update step to workflows

* Some more apt-get updates

* Update to latest cmdliner

* Update bounds for cmdliner version in opam files

* Properly exit after --help/--version

* Require --prefix in configure script if opam is not present

* Try and remove superfluous printing

* Restore prefix in Makefile.config

* WIP

* Restrict dune version to avoid bug in dune uninstall

See ocaml/dune#5542
rgrinberg added a commit to rgrinberg/opam-repository that referenced this issue Apr 15, 2022
…ne-site, dune-rpc, dune-rpc-lwt, dune-private-libs, dune-glob, dune-configurator, dune-build-info and dune-action-plugin (3.1.0)

CHANGES:

- Add `sourcehut` as an option for defining project sources in dune-project
  files. For example, `(source (sourcehut user/repo))`. (ocaml/dune#5564, @rgrinberg)

- Add `dune coq top` command for running a Coq toplevel (ocaml/dune#5457, @rlepigre)

- Fix dune exec dumping database in wrong directory (ocaml/dune#5544, @bobot)

- Always output absolute paths for locations in RPC reported diagnostics
  (ocaml/dune#5539, @rgrinberg)

- Add `(deps <deps>)` in ctype field (ocaml/dune#5346, @bobot)

- Add `(include <file>)` constructor to dependency specifications. This can be
  used to introduce dynamic dependencies (ocaml/dune#5442, @anmonteiro)

- Ensure that `dune describe` computes a transitively closed set of
  libraries (ocaml/dune#5395, @esope)

- Add direct dependencies to $ dune describe output (ocaml/dune#5412, @esope)

- Show auto-detected concurrency on Windows too (ocaml/dune#5502, @MisterDA)

- Fix operations that remove folders with absolute path. This happens when
  using esy (ocaml/dune#5507, @EduardoRFS)

- Dune will not fail if some directories are non-empty when uninstalling.
  (ocaml/dune#5543, fixes ocaml/dune#5542, @nojb)

- `coqdep` now depends only on the filesystem layout of the .v files,
  and not on their contents (ocaml/dune#5547, helps with ocaml/dune#5100, @ejgallego)

- The mdx stanza 0.2 can now be used with `(implicit_transitive_deps false)`
  (ocaml/dune#5558, fixes ocaml/dune#5499, @emillon)

- Fix missing parenthesis in printing of corresponding terminal command for
  `(with-outputs-to )` (ocaml/dune#5551, fixes ocaml/dune#5546, @Alizter)
kanigsson pushed a commit to kanigsson/alt-ergo that referenced this issue Jun 6, 2022
* Add apt-get update step to workflows

* Some more apt-get updates

* Update to latest cmdliner

* Update bounds for cmdliner version in opam files

* Properly exit after --help/--version

* Require --prefix in configure script if opam is not present

* Try and remove superfluous printing

* Restore prefix in Makefile.config

* WIP

* Restrict dune version to avoid bug in dune uninstall

See ocaml/dune#5542
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment