fix `cabal install --program-suffix/prefix` (fix #10290 and #10476) (#10483)
* fix cabal install --program-suffix/prefix (fix #10290 and #10476) When checking for existing installations, cabal would not account for an affix (suffix or prefix). So, if you had a `hello` binary installed, installing a second one with a non-empty affix (a perfectly legal operation) would fail. The reason seemed to be a typo in 09c04e9a, which passed the arguments to the Symlink structure in a wrong order. When failing to install a binary because of an existing one, cabal would report suffix-less existing target even if a suffix was set. * Add regression tests for overwrite policies and porgram-affixes Add regression tests for the `program-prefix` and `program-suffix` flags combined with the overwrite-policy. In short, the overwrite-policy needs to take potential program affixes into account when deciding whether it will need to overwrite a program path during installation. --------- Co-authored-by:Fendor <fendor@posteo.de>
Showing
- cabal-install/src/Distribution/Client/CmdInstall.hs 2 additions, 2 deletionscabal-install/src/Distribution/Client/CmdInstall.hs
- cabal-testsuite/PackageTests/Install/ProgramAffixes/overwrite-policy.out 160 additions, 0 deletions.../PackageTests/Install/ProgramAffixes/overwrite-policy.out
- cabal-testsuite/PackageTests/Install/ProgramAffixes/overwrite-policy.test.hs 66 additions, 0 deletions...kageTests/Install/ProgramAffixes/overwrite-policy.test.hs