-
Notifications
You must be signed in to change notification settings - Fork 37
Description
Problems: A distribution may remove files in a new version, but existing versions of those files are left on the user's system because the new distribution is just installed over the old one. Also, a distribution may be installed into a different directory (commonly sitearch->sitelib or vice versa) because it gains or loses an XS component.
Proposal: A setting the distribution author can enable in Module::Build which removes (only from the location where the distribution is to be installed to or the arch variant, if possible) the existing installation of the distribution, before the new distribution is installed. This would only occur if there is a packlist present. Similar to --uninst 1 but less "greedy" and the author can enable it rather than the user.
Potential issues: interaction with different @INC setups, installation locations, how to keep it "safe" under all these circumstances? are there any instances where core or vendor libs contain packlists?
Prior art: --uninst 1, https://metacpan.org/source/HAARG/Devel-GlobalDestruction-0.14/Makefile.PL#L62-75