Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Really fix the weird uninstall problem
I've finally nailed down issue ocaml#348 (and ocaml#362). The issue was indeed caused by da0d7de: * This commit is implementing an useful optimization: in case the remove command is 'ocamlfind remove XXX' only, then OPAM don't create ~/.opam/<switch>/build/<pkg> anymore. Which means increased uninstall time. * However, the uninstall command was still run in ~/.opam/<switch>/build/<pkg>. If that directory does not exists, the command was just dropped silently. * OPAM automatically removes ~/.opam/<switch>/lib/<pkg>, so when the package was not using C bindings (with stub files in ~/.opam/<switch>/lib/stublibs) the bug was hidden * Using OPAM with OPAMKEEPBUILDIR=1 (which means that the build dir wasn't removed during upgrades) hides the bug So now I've fixed the bug: * when we do an exec in a given dir, OPAM fails if the dir doesn't exist * on uninstall, if the build dir is not there run the uninstall command at the OPAM root This should fix ocaml#362
- Loading branch information